是否有命令可以执行未包装在框架中的硒测试



是否有命令可以在不使用框架的情况下运行硒测试? 例如 pytest foo_test.py

我的本地计算机上需要什么才能运行以下测试?我很困惑,因为这似乎唯一的要求是 chromedriver,但我不知道使用哪个命令来执行实际测试。

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
wait = WebDriverWait(driver, 20)
driver.get('http://stackoverflow.com/')
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#h-top-questions')))
driver.execute_script("window.stop();")

以下是您问题的答案:

正如你问Is there a command to run selenium tests without using a framework,答案是Yes

简单来说,python中存在某些框架,如pytestunittest等,用于构建测试执行和解释测试结果。每个框架都有自己的优势。当代码库变得笨重时,框架可以帮助我们进行安排。但是使用框架不是强制性的。

关于您的代码,我在您的代码中没有看到任何重大错误,但是使用 Selenium 3.x.x 您需要从此处下载chromedriver并将其保存在您的计算机中。初始化WebDriver实例时,您需要提及chromedriver的绝对路径,如下所示。

这是您自己的代码,其中包含一些简单的调整,在我的最后效果很好:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa,executable_path="C:\your_directory\chromedriver.exe")
wait = WebDriverWait(driver, 20)
driver.get('http://stackoverflow.com/')
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#h-top-questions')))
driver.execute_script("window.stop();")

让我知道这是否回答了您的问题。

您正在使用的实际 2 个要求。硒本身是一个要求,然后是你提到的chromedriver。该文件只是一个python文件,因此您可以通过执行python foo_test.py来运行它。还可以选择使用像Unittest这样的框架,这对于查看测试结果很有用。

Selenium本身不是一个"测试框架",它是一个允许用户与Web浏览器交互的命令库。硒可用于网络抓取或自动化任务以及测试目的。

相关内容

  • 没有找到相关文章

最新更新