使用 python + selenium 进行测试时如何包含电子二进制文件

Posted

技术标签:

【中文标题】使用 python + selenium 进行测试时如何包含电子二进制文件【英文标题】:How do you include electron binary while using python + selenium for testing 【发布时间】:2021-11-20 08:41:45 【问题描述】:

我正在使用 python 和 selenium 来测试一个电子应用程序。但是,当应用程序通过 selenium 打开时,它似乎缺少电子,因为所有 i18n 替换都没有发生。如果我手动打开应用程序,那么一切正常。我们推测电子没有正确加载。有谁知道如何以某种方式将电子二进制文件添加到 chrome 驱动程序选项中?这就是我下面的内容

from selenium import webdriver as app
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "C:/Users/eeee/AppData/Local/Programs/folder/app.exe"
caps = app.DesiredCapabilities.CHROME
caps['goog:chromeOptions'] = 'binary': "./node_modules/.bin/electron"

driver = app.Chrome(desired_capabilities=caps, options=options)  # start

time.sleep(5)

driver.quit()

【问题讨论】:

【参考方案1】:

我发现这与在 Windows 系统上工作目录发生变化有关。

因此,您需要将当前工作目录设置为 exe 所在的同一文件夹。您可以使用 Popen 或在 selenium 中进行一些工作,但它不是 selenium 原生的

我用 slack 进行了测试:

app_path=\AppData\Local\slack\app-4.20.0\slack.exe
app_cwd=\AppData\Local\slack\app-4.20.0

【讨论】:

以上是关于使用 python + selenium 进行测试时如何包含电子二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 python + selenium 进行测试时如何包含电子二进制文件

自动化测试常用断言的使用方法(python+selenium)

用python+selenium进行一次cnblog的登录测试

Selenium基于Python 进行 web 自动化测试

用python+selenium进行一次cnblog的登录测试

Selenium+Python进行web自动化测试(Demo+API)