我对使用Electron应用程序的Selenium测试很陌生;我知道如何使用Python通过webdriver驱动Chrome,以及如何在Firefox上使用Selenium IDE,但我很难找到一个好的信息来源。
到目前为止,我有一个使用Electron制作的应用程序,我想使用Selenium来驱动它并自动化基础知识。我做了一些研究,大部分结果都是使用node.js,我根本不知道。我想使用Python,所以在开发一种完全不同的语言之前,我想向更多的观众询问,如果有些东西已经在Python上进行了Selenium测试,那么在Electron应用上
特别是,如何分配包含电子应用程序的变量?用浏览器我会说
from selenium import webdriver
driver = webdriver.Chrome('/chromedriver')
但这对电子应用来说没有意义。
答案 0 :(得分:1)
我确实找到了捕捉应用程序的方法。
您需要下载Chromedriver;并在你喜欢的端口上运行它(例如:8765)。
然后你可以使用
访问通过Electron编写的应用程序from selenium import webdriver
remote_app = webdriver.remote.webdriver.WebDriver(
command_executor='http://localhost:8765',
desired_capabilities = {'chromeOptions':{ 'binary': '/myapp'}},
browser_profile=None,
proxy=None,
keep_alive=False)
然后您可以像往常一样访问应用程序上的DOM元素。不确定它是否可以在Windows,OSX和Linux上运行,必须尝试。
答案 1 :(得分:0)
是的,您可以使用驱动程序选项和功能来实现。 您需要设置二进制路径,并且应该在选项上添加参数。
二进制路径是“ .bin”中项目目录下的电子应用路径。 参数路径是项目的主目录。
例如: 假设您的项目位于主目录下,名为“ ElectronProject”
Binart路径为'/Users/Home/ElectronProject/node_modules/.bin/electron' 参数路径为“ / Users / Home / ElectronProject”
答案 2 :(得分:0)