-1

我正在pytest使用seleniumand对我的网站进行测试selenoid
我有一个继承自 BaseCase 的类,例如当我想打开我编写的网页时super().open(URL)。或者,如果我想点击一个我写的元素:self.click(element_selector).
但是,我有点困惑,为什么我在网上找到的大多数其他示例首先必须创建一个 webdriver,然后他们才能通过它执行诸如openand之类的操作click。而我可以通过类对象(self.click())访问它。
我知道这与我使用硒有关。但是,我不太确定这一切是如何结合在一起的。
我在网上找到解释时遇到了很多麻烦,因为每次我尝试同时输入 selenoid 和 webdriver 这两个词时,谷歌都认为我的意思是硒。我找不到任何相关的结果。
有人对此有解释吗?(或者,甚至比Selenoid Webdriver Pytest在 Selenoid 中我用什么代替 Webdriver 更好的搜索词?

4

1 回答 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):

1cmhttps://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 回答