我正在使用selenium
和selenoid
在pytest
中创建我的网站测试
我有一个继承自BaseCase的类,例如,当我想打开一个网页时,我会编写super().open(URL)
。或者,如果我想点击一个元素,我会写:self.click(element_selector)
然而,我有点困惑,为什么我在网上找到的大多数其他示例都必须首先创建一个网络驱动程序,然后他们才能通过它执行open
和click
等操作。而我只能通过类对象(self.click()
(访问它
我知道这与我使用硒类化合物有关。然而,我不太确定这一切是如何结合在一起的
我在网上很难找到解释,因为每次我试图同时输入selenoid和webdriver这两个词时,谷歌都会认为我指的是硒。我找不到任何相关的结果<有人对此有解释吗?(或者,使用比>Selenoid Webdriver Pytest更好的搜索词或在Selenoid中使用什么来代替Webdriver?
我建议按照教程建议的方式实现测试,至少在您感到经验丰富之前。通过这种方式,你将以大多数其他人的方式完成任务。
所以我建议不要使用一些库类继承,而是创建webdriver
实例并使用它。如果没有看到你的代码,我就无法添加更多内容。。
硒+硒
硒的行为类似硒网格。
如果你的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()
设置Selenoid
(假设您已经拥有Docker(:
1从下载cm
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/