Uma vez no trabalho, recebi uma tarefa de P&D para criar um bot que "andaria" pelo site, selecionaria produtos, preencheria formulários e pagaria as compras. Naquela época, estávamos escrevendo uma parte do sistema Antifraud que permitia detectar bots no navegador. E a partir desse momento tudo começou ...
Índice
RPA em resumo
Projetos de código aberto
Serviços pagos
Automação de teste
RPA vs Automação de Teste
Web scraping e RPA
BPM e RPA
RPA seguro ...
Um exemplo de bot trabalhando em Python
Como detectar um bot?
conclusões
RPA em resumo
RPA (Robotic process automation) - , ( , , .), , , ... - , . , .
:
RPA - , « » , , , . RPA -, .
RPA:
Open source
open source , .. .
:
, , . Python , , .
Selenium & rpaframework
2 1 .. : , , . : , fingerprint . .
Selenium
Selenium WebDriver — -. Web-, . .
Selenium IDE - ; Chrome Firefox, .
RPA Framework
RPA Framework - RPA, Robot Framework Python. Selenium Playwright, Chromium, Firefox WebKit API. Robocorp .
3 in 1 (Desktop / Web / Mobile)
RPA Framework, Playwright, selector Selenium, .
Selenium RPA Framework
Selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
driver.get("https://www.google.com/")
elem = driver.find_element_by_xpath("/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input")
elem.send_keys("Python news")
elem.send_keys(Keys.RETURN)
driver.close()
RPA Framework
from RPA.Browser.Playwright import Playwright
from Browser.utils.data_types import KeyAction
lib = Playwright()
lib.open_browser("https://www.google.com/")
lib.fill_text(selector="input", txt="Python news")
lib.keyboard_key(KeyAction.press, "Enter")
lib.close_browser()
RPA Framework API.
. Enterprise . , RPA . , , RPA 100 000 , .
RPA Everest Group RPA 2020:
Everest RPA , . Everest UiPath, Automation Anywhere, Blue Prism, Intellibot Nividous .
UiPath vs Automation Anywhere vs Blue Prism
Blue Prism, 2001 , RPA «Robotic Process Automation». UiPath UiPath «DeskOver». 2015 RPA-.
RPA , , :
Blue Prism . - , RPA.
, UiPath Automation Anywhere ( ) , . RPA «» , .
RPA - G2, . 21 :
UiPath - 4.6 / 5 4722
Automation Anywhere 4,5 / 5 4310
Blue Prism 4,4 / 5 158
UiPath RPA?
UiPath RPA , . , RPA , , , AI Fabric, RPA SaaS .
UiPath RPA - 3-4 , RPA.
UiPath:
Long Running Workflows
Machine Learning and Predictive Analytics
Seamless Interconnectivity
Process Document Understanding
Citizen Development
Customer Satisfaction
Flexible Licensing Model and Low Cost of Entry
: https://www.auxis.com/blog/top-rpa-tools
RPA G2, (, , .). G2 , :
RPA
UiPath
UiPath - .
UiPath . - . Quadrant Review Gartner, UiPath , UiPath , RPA.
Automation Anywhere
Automation Anywhere, RPA, - RPA, -. RPA, , , .
Blue Prism
Blue Prism, RPA, .
Blue Prism RPA Fortune. Blue Prism . , RPA. .
Microsoft Power Automate
Microsoft Power Automate RPA. Microsoft Power Automate . Microsoft . .
WinActor
WinActor - RPA, NTT Group. , .
Test Automation
.
, (, Selenium), . , , , , .
Automation Testing Tools
RPA.
:
|
|
Open source |
|
Selenium |
+ |
|
Appium |
+ |
|
SoapUI |
+ |
|
TestProject |
+ |
|
Cerberus Testing |
+ |
|
Katalon Studio |
|
+ |
IBM Rational Functional Tester |
|
+ |
Telerik Test Studio |
|
+ |
TestComplete |
|
+ |
Ranorex |
|
+ |
Kobiton |
|
+ |
Subject7 |
|
+ |
HPE Unified Functional Testing (UFT) |
|
+ |
:
RPA vs Test Automation
: .
RPA Test Automation . , .
:
.
:
, , (SUT).
RPA , , , .
RPA , .
RPA
, , , RPA (, Octoparse).
Process Bots VS Search Bots
RPA:
Low Code UX
UX
-
-
- ( , ..)
:
-
HTML ( ; UPC )
(, , ..)
?
, , - RPA , , .
RPA . . . , , .
. . RPA . , -, RPA , , - html .
AI. , Crawlbot Diffbot, , . JSON CSV, . , , RPA. !
Scrape.do
Scrape.do - -, , API- - . Scrape.do . Scrape.do - -.
Scrapingdog
Scrapingdog - -, -, , CAPTCHA. HTML- - API. Scraping dog - API LinkedIn.
ParseHub
ParseHub - -, -. . , , , / , CSV JSON. .
Diffbot
Diffbot - -, , -. - . Analyze API , , , .
Octoparse
Octoparse - . IP- IP-. . , . CSV, Excel API.
ScrapingBee
ScrapingBee - . -, , Chrome.
Luminati
Luminati - - . , .
Scraper API
Scraper API - API -. -, CAPTCHA, HTML- -, API.
Scrapy
- Scrapy. Scrapy - , -. - Python.
Import.io
- -, , . Import.io - CSV. , 1000 API- . Mac OS X, Linus Windows.
BPM RPA
BPM (Business Process Management, -) – , -.
BPM - (, , ..).
BPM- — -.
, , . , , , , - .
- : , . RPA - , .
BPM RPA
Camunda
Camunda , , RPA- , . , Camunda , RPA API / .
:
RPA
RPA
RPA
ELMA
BPM- ELMA . - ELMA — . .
RPA + BPM:
.
.
.
Customer Experience .
ProcessMaker
ProcessMaker - - (BPM) . .
RPA...
RPA
RPA? , . , ( , .), , , , . , .
, :
: . , .
: .
: , . , , , -.
: malware , .
: .
, , , .
:
: - , .
RPA
Vamos olhar da perspectiva de um pentester. Podemos usar o RPA para criar um script que verificará ciclicamente as páginas em busca de vulnerabilidades. Pensando além, podemos treinar um exército inteiro de robôs para simular ataques a várias APIs e sites. É claro que nem tudo pode ser automatizado, mas você pode tentar os cenários básicos que se repetem para cada site.
Continua...
No próximo artigo, vamos criar nosso próprio bot, considerar quais são os algoritmos para detectar bots, que são escritos em Selenium e usando RPA. Vamos criar nosso próprio algoritmo e resumir.