gpt4 book ai didi

python - 使用Python + Selenium进行基于 Electron 的应用测试

转载 作者:行者123 更新时间:2023-12-03 12:21:53 30 4
gpt4 key购买 nike

有关使用Spectron来测试使用Electron构建的应用程序的大量文档。

由于我有许多用Python编写的实用程序,所以我想知道是否有任何方法可以使用Python-Selenium来测试Electron内置的应用程序。

从一些在线资源中,我发现有一些人能够做到(尽管不是我当前正在使用的最新版本)。
我可以使用以下代码启动该应用程序,但是调用webdriver.Chrome()是一个阻塞调用,但我从未获得驱动程序实例:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = "/home/username/electron_test/node_modules/electron/dist/electron"

options.add_argument("--app=/home/username/electron_test/")
driver = webdriver.Chrome(chrome_options=options)

谢谢。

最佳答案

    from selenium import webdriver

# Start the web driver
web_driver_path = os.path.join(
os.environ["ProgramFiles(x86)"],
"chromedriver-v3.1.9-win32-x64",
"chromedriver.exe")
service = webdriver.chrome.service.Service(web_driver_path)
service.start()

# start the app
self.web_driver = webdriver.remote.webdriver.WebDriver(
command_executor=service.service_url,
desired_capabilities={
'browserName': 'chrome',
'goog:chromeOptions': {
'args': [],
'binary': PATH_TO_BINARY_APP,
'extensions': [],
'windowTypes': ['webview']},
'platform': 'ANY',
'version': ''},
browser_profile=None,
proxy=None,
keep_alive=False)

首先,您需要为webdriver创建一个服务实例。之后,打开带有服务网址的 Electron 应用程序,以便它们可以彼此连接。

确保使用与您的 Electron 版本匹配的正确Web驱动程序版本。

仅供引用:当您在应用中使用诸如Webviews之类的内容时,您会喜欢“windowTypes”行。花了我几个小时才弄清楚。

关于python - 使用Python + Selenium进行基于 Electron 的应用测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53920611/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com