使用 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的登录测试