우리는 개발자가 로봇에 대한 작업을 원활하게 작성하는 데 어려움을 겪을 수 있는 상황을 다루기 위해 키워드 사용을 개선하는 방법을 모색하고 있습니다. 더 쉬운 구문이 없기 때문에 구현 속도가 느려지는 상황을 설명하세요.
여기에 댓글을 달아주세요
RPA 프레임워크는 RPA(로보틱 프로세스 자동화)를 위한 오픈 소스 라이브러리 및 도구 모음이며, Robot Framework 및 Python과 함께 사용하도록 설계되었습니다. 목표는 소프트웨어 로봇 개발자를 위해 잘 문서화되고 적극적으로 유지 관리되는 핵심 라이브러리를 제공하는 것입니다.
Robocorp 문서에서 RPA에 대해 자세히 알아보세요.
프로젝트는 다음과 같습니다
위 패키지 중 rpaframework -core
및 rpaframework -recognition
지원 패키지이며 단독으로는 라이브러리가 포함되어 있지 않습니다 .
RPA 프레임워크 프로젝트에는 현재 다음 라이브러리가 포함되어 있습니다.
PACKAGE 열의 x
라이브러리가 rpaframework 패키지에 포함되어 있음 을 의미합니다. x,pdf
RPA.PDF
라이브러리가 rpaframework 및 rpaframework -pdf 패키지 모두에 제공됨을 의미합니다.
라이브러리 이름 | 설명 | 패키지 |
보관소 | TAR 및 ZIP 파일 보관 | 엑스 |
어시스턴트 | 사용자에게 정보를 표시하고 입력을 요청합니다. | 어시스턴트 |
브라우저.셀레늄 | 브라우저 제어 및 웹 자동화 | 엑스 |
브라우저.극작가 | 브라우저를 제어하는 새로운 방법 | 특별 (자세한 내용은 아래 참조) |
달력 | 날짜 및 시간 조작용 | 엑스 |
클라우드.AWS | Amazon AWS 서비스 사용 | x,aws |
클라우드.애저 | Microsoft Azure 서비스 사용 | 엑스 |
클라우드.구글 | Google Cloud 서비스 사용 | |
암호화폐 | 일반적인 해싱 및 암호화 작업 | 엑스 |
데이터 베이스 | 데이터베이스와 상호작용 | 엑스 |
데스크탑 | 크로스 플랫폼 데스크탑 자동화 | 엑스 |
데스크탑.클립보드 | 시스템 클립보드와 상호 작용 | 엑스 |
Desktop.OperatingSystem | OS 정보 읽기 및 프로세스 조작 | 엑스 |
DocumentAI | 지능형 문서 처리 래퍼 | 엑스 |
DocumentAI.Base64AI | 지능형 문서처리 서비스 | 엑스 |
DocumentAI.나노넷 | 지능형 문서처리 서비스 | 엑스 |
이메일.교환 | 이메일 작업(Exchange 프로토콜) | 엑스 |
이메일.ImapSmtp | 이메일 작업(IMAP 및 SMTP) | 엑스 |
Excel.응용 프로그램 | Excel 데스크톱 응용 프로그램 제어 | 엑스 |
Excel.파일 | Excel 파일을 직접 조작 | 엑스 |
파일 시스템 | 파일 및 경로 읽기 및 조작 | 엑스 |
FTP | FTP 서버와 상호작용 | 엑스 |
HTTP | 웹 API와 직접 상호작용 | 엑스 |
허브스팟 | HubSpot CRM 데이터 개체에 액세스 | 중심지 |
이미지 | 이미지 조작 | 엑스 |
JavaAccessBridge | Java 애플리케이션 제어 | 엑스 |
JSON | JSON 객체 조작 | 엑스 |
MFA | 일회용 비밀번호(OTP) 및 OAuth2를 사용하여 인증 | 엑스 |
알리미 | 다양한 서비스를 사용하여 메시지 알림 | 엑스 |
오픈AI | 인공지능 서비스 | 개방하다 |
Outlook.응용 프로그램 | Outlook 데스크톱 응용 프로그램 제어 | 엑스 |
PDF 문서 읽기 및 만들기 | x,pdf | |
Robocorp.프로세스 | Robocorp 프로세스 API 사용 | 엑스 |
Robocorp.WorkItems | Robocorp 작업 항목 API 사용 | 엑스 |
Robocorp.Vault | Robocorp Secrets API 사용 | 엑스 |
Robocorp.스토리지 | Robocorp 자산 저장소 API 사용 | 엑스 |
세일즈포스 | Salesforce 운영 | 엑스 |
수액 | SAP GUI 데스크탑 클라이언트 제어 | 엑스 |
스마트시트 | 스마트시트 시트에 액세스 | 엑스 |
테이블 | 표 형식 데이터 조작, 정렬 및 필터링 | 엑스 |
작업 | 제어 작업 실행 | 엑스 |
지저귀다 | 트위터 API 인터페이스 | 엑스 |
윈도우 | Windows 자동화를 위한 대체 라이브러리 | x,창 |
워드.응용프로그램 | Word 데스크톱 응용 프로그램 제어 | 엑스 |
현재 RPA.Browser.Playwright 는 패키지 크기와 설치 후 단계를 완전히 설치해야 하기 때문에 특별한 설치가 필요합니다.
Playwright를 설치하는 데 필요한 최소 conda.yaml:
channels :
- conda-forge
dependencies :
- python=3.9.16
- nodejs=16.14.2
- pip=22.1.2
- pip :
- robotframework-browser==17.2.0
- rpaframework ==24.1.2
rccPostInstall :
- rfbrowser init
Python 패키지 설치에서 Python 패키지 설치에 대해 알아보세요.
conda.yaml을 사용하는 Robocorp 개발자 도구의 기본 설치 방법:
channels :
- conda-forge
dependencies :
- python=3.9.16
- pip=22.1.2
- pip :
- rpaframework ==24.1.2
모든 추가 패키지(Playwright 종속성 포함)를 설치하려면 다음을 사용할 수 있습니다.
channels :
- conda-forge
dependencies :
- python=3.9.16
- tesseract=4.1.1
- nodejs=16.14.2
- pip=22.1.2
- pip :
- robotframework-browser==17.2.0
- rpaframework ==24.1.2
- rpaframework -aws==5.2.8
- rpaframework -google==7.0.3
- rpaframework -recognition==5.1.2
rccPostInstall :
- rfbrowser init
기본 rpaframework
없이 AWS, PDF 및 Windows 라이브러리를 별도로 설치합니다.
channels :
- conda-forge
dependencies :
- python=3.9.16
- pip=22.1.2
- pip :
- rpaframework -aws==5.2.8 # included in the rpaframework as an extra
- rpaframework -pdf==7.1.5 # included in the rpaframework by default
- rpaframework -windows==7.3.2 # included in the rpaframework by default
Python venv를 사용하여 pip로 설치 방법:
python -m venv .venv
source .venv/bin/activate
pip install rpaframework
메모
Python 3.8 이상이 필요합니다.
설치 후 라이브러리를 Robot Framework 내부로 직접 가져올 수 있습니다.
*** Settings ***
Library RPA.Browser.Selenium
*** Tasks ***
Login as user
Open available browser https://example.com
Input text id:user-name ${ USERNAME }
Input text id:password ${ PASSWORD }
라이브러리는 Python 내부에서도 사용할 수 있습니다.
from RPA . Browser . Selenium import Selenium
lib = Selenium ()
lib . open_available_browser ( "https://example.com" )
lib . input_text ( "id:user-name" , username )
lib . input_text ( "id:password" , password )
버그를 발견하셨나요? 중요한 기능이 누락되었나요? 기여하는 데 관심이 있으십니까? 어디서부터 시작해야 할지 알아보려면 기여 가이드로 이동하세요.
리포지토리 개발은 Python 기반이며 개발 시스템에 최소 Python 버전 3.8 이상이 설치되어 있어야 합니다. Robocorp Robot 템플릿에 사용되는 기본 Python 버전은 3.9.16이므로 설치할 버전을 선택하는 것이 좋습니다. 권장되지 않는 버전은 3.7.6 및 3.8.1입니다. rpaframework
와 관련된 일부 종속성에 문제가 있기 때문입니다. 현재 3.11부터 시작하는 최신 Python 버전도 권장되지 않습니다. 일부 종속성으로 인해 문제가 발생할 수 있기 때문입니다.
리포지토리 개발 도구는 시와 호출을 기반으로 합니다. Poetry는 패키지를 컴파일, 빌드 및 실행하는 데 사용되는 기본 도구입니다. Invoke는 Linting, 테스트 및 게시 작업과 같은 스크립팅 목적으로 사용됩니다.
코드를 작성하기 전에 광범위한 개발자 가이드를 읽고 인정하시기 바랍니다.
개발을 시작하는 첫 번째 단계:
poetry config virtualenvs.path null
poetry config virtualenvs.in-project true
poetry config repositories.devpi " https://devpi.robocorp.cloud/ci/test "
git clone 저장소
새로운 Git 브랜치를 생성하거나 올바른 브랜치로 전환하거나 마스터 브랜치를 유지하세요.
패키지의 .venv 디렉터리(예: packages/main/.venv) 에 해당 종속성과 함께 패키지를 설치하는 poetry install
.
devdata/env.json을 사용하는 Robocorp Robot에 대해 테스트하는 경우
poetry build
하고 로봇 conda.yaml 에서 결과 .whl 파일( dist/ 디렉터리에 있음)을 사용합니다.poetry build
하고 결과 .whl 파일( dist/ 디렉토리에 있음)을 저장소에 푸시하고 원시 URL을 사용하여 로봇 conda.yaml 에 포함시킵니다.poetry publish --ci
및 포인트 conda.yaml을 사용하여 devpi에서 rpaframework 버전을 사용합니다. poetry run python -m robot <ROBOT_ARGS> <TARGET_ROBOT_FILE>
--report NONE --outputdir output --logtitle "Task log"
poetry run python <TARGET_PYTHON_FILE>
invoke lint
코드 형식이 rpaframework 저장소 지침을 따르는지 확인하세요. 개발자가 코드 변경 사항을 린팅하지 않은 경우 Github 작업이 실패할 가능성이 높습니다. 코드 형식은 black 및 flake8을 기반으로 하며 invoke lint
사용하여 실행됩니다.
라이브러리 문서는 저장소 루트(소위 "메타" 패키지 수준)에서 생성될 수 있습니다. 문서는 로컬에 설치된 프로젝트 버전을 사용하여 Docgen 도구로 작성되며, 문서를 생성할 때마다 기본 패키지에 대한 로컬 변경 사항이 반영되지만, 선택적 패키지에 대한 로컬 변경 사항을 보려면 invoke install-local --package <package_name>
활용해야 합니다. invoke install-local --package <package_name>
적절한 패키지 이름을 사용합니다(예: rpaframework -aws
). 그러면 해당 패키지가 PyPI 대신 로컬 편집 가능한 버전으로 다시 설치됩니다. --package
옵션을 반복하여 사용하면 이러한 패키지를 여러 개 추가할 수 있습니다. 이를 재설정하려면 invoke install --reset
사용하십시오.
poetry update
및/또는 invoke install-local --package <package name>
make docs
docs/build/html/index.html
열어 변경 사항을 보거나 make local
실행하고 localhost:8000
으로 이동하여 문서를 라이브 로컬 웹페이지로 봅니다. # Before
[ tool . poetry . dependencies ]
python = " ^3.8 "
rpaframework = { path = " packages/main " , extras = [ " cv " , " playwright " , " aws " ] }
rpaframework -google = " ^4.0.0 "
rpaframework -windows = " ^4.0.0 "
# After
[ tool . poetry . dependencies ]
python = " ^3.8 "
rpaframework = { path = " packages/main " , extras = [ " cv " , " playwright " ] }
rpaframework -aws = { path = " packages/aws " }
rpaframework -google = " ^4.0.0 "
rpaframework -windows = " ^4.0.0 "
invoke test
(이것은 패키지 테스트/ 디렉터리 에 정의된 Python 단위 테스트와 로봇 프레임워크 테스트를 모두 실행합니다)
poetry run pytest path/to/test.py::test_function
inv testrobot -r <robot_name> -t <task_name>
git 커밋 변경 사항
git push가 원격으로 변경됨
설명에 포함된 변경 사항을 설명하는 브랜치에서 풀 요청을 생성합니다.
docs/source/releasenotes.rst를 변경 사항으로 업데이트합니다(커밋 및 푸시).
패키징 및 게시는 변경 사항이 마스터 브랜치에 병합된 후에 수행됩니다. 다음 단계는 모두 마스터 브랜치 내에서 수행되어야 합니다.
invoke lint
및 invoke test
실행합니다.poetry update
명령을 실행하세요.invoke publish
개발을 위한 몇 가지 권장 도구
다음 확장을 사용하는 코드 편집기인 Visual Studio Code:
- 로보코프 코드
- 로봇 프레임워크 언어 서버
- GitLens
- 파이썬 확장
GitHub Desktop을 사용하면 버전 관리에서 오류가 발생할 가능성이 줄어듭니다.
이 프로젝트는 오픈 소스이며 Apache License 2.0의 조건에 따라 라이센스가 부여됩니다.