首页 > 解决方案 > Pytest + 硒。测试网站上的所有链接

问题描述

基本思路:

urls = ["https://mywebsite.com"]

for url in urls:
   webdriver.get("url")
   #return status code
   for a webdriver.find_elements_by_xpath("//a[@href]"):
      #also here: url.startswith("https://mywebsite.com") and etc
      if a.get_attribute("href") not in urls:
         urls.append(a)

我做了什么:

urls = ["https://mywebsite.com"]
@pytest.mark.parametrize("url", urls)
def test_link(self, url):
   get(url)
   links = parse_page()
   urls.append(links)

和:

@pytest.fixture()
def GenData(self):
   for url in self.Data:
      yield url

def test_test(self, GenData):
   page = get(GenData)
   links = parse_page(page)
   urls.append(links)
   assert True

我知道这个问题的两种解决方案:

  1. 运行收集 url 的 func 并运行测试,但速度较慢
  2. 循环调用测试

你有想法吗?

标签: seleniumpytest

解决方案


推荐阅读