我正在pytest
使用selenium
and对我的网站进行测试selenoid
。
我有一个继承自 BaseCase 的类,例如当我想打开我编写的网页时super().open(URL)
。或者,如果我想点击一个我写的元素:self.click(element_selector)
.
但是,我有点困惑,为什么我在网上找到的大多数其他示例首先必须创建一个 webdriver,然后他们才能通过它执行诸如open
and之类的操作click
。而我可以通过类对象(self.click()
)访问它。
我知道这与我使用硒有关。但是,我不太确定这一切是如何结合在一起的。
我在网上找到解释时遇到了很多麻烦,因为每次我尝试同时输入 selenoid 和 webdriver 这两个词时,谷歌都认为我的意思是硒。我找不到任何相关的结果。
有人对此有解释吗?(或者,甚至比Selenoid Webdriver Pytest或在 Selenoid 中我用什么代替 Webdriver 更好的搜索词?
问问题
35 次
1 回答
1
我建议按照教程建议的方式实施您的测试,至少在您感到有经验之前。这样,您将像大多数其他人一样完成您的任务。
所以我建议不要使用一些库类继承,而是创建webdriver
实例并使用它。(但仍然是您的选择,取决于您)。如果没有看到您的代码,我无法添加更多内容..
硒 + 类硒
Selenoid 的行为类似于 Selenium Grid。
如果您的 Selenoid 启动localhost:4444
,只需
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub',
options=chrome_options
)
driver.get("http://www.google.com")
driver.quit()
设置螺线管
(假设你已经有 Docker):
1cm
从
https://github.com/aerokube/cm/releases下载
2 运行chmod +x cm
3 运行
./cm selenoid start
您的 Selenoid 将准备好接受请求。
检查http://localhost:4444/status
。
参考
https://aerokube.com/selenoid/latest/
https://www.selenium.dev/documentation/webdriver/remote_webdriver/
于 2022-01-31T13:45:10.920 回答