我对Electron应用程序的Selenium测试非常陌生;我知道如何通过webdriver使用Python来驱动Chrome,以及如何在Firefox上使用Selenium IDE,但我很难找到好的信息来源。
到目前为止,我有一个用Electron制作的应用程序,我想使用Selenium来驱动它并自动执行基本操作。我做了一些研究,大多数结果都是使用node.js,我对此一无所知。我想使用Python,所以在介绍一种完全不同的语言之前,我想问更多的观众,如果已经有一些东西可以用Python在电子应用程序上进行硒测试
特别是,如何赋值包含电子应用程序的变量?有了浏览器,我会说
from selenium import webdriver
driver = webdriver.Chrome('/chromedriver')但对于一个电子应用程序来说,这是没有意义的。
发布于 2016-08-09 06:23:12
我确实找到了一种捕获应用程序的方法。
您需要下载Chromedriver;并在您喜欢的端口上运行它(示例: 8765)。
然后,您可以使用Python访问通过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上工作,将不得不尝试。
发布于 2018-07-18 20:14:32
是的,您可以使用驱动程序选项和功能来完成此操作。您需要设置二进制路径,并且应该在选项上添加参数。
二进制路径是'.bin‘中项目目录下的电子应用程序路径。参数路径是项目的主目录。
例如:假设您的项目位于主目录下,名为'ElectronProject‘
Binart路径是'/Users/Home/ElectronProject/node_modules/.bin/electron‘参数路径是'/Users/Home/ElectronProject’
发布于 2019-07-26 17:30:00
是的,这是可能的。您可以参考文档@ https://electronjs.org/docs/tutorial/using-selenium-and-webdriver
https://stackoverflow.com/questions/38811123
复制相似问题