selenium - 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
我知道这个问题的两种解决方案:
- 运行收集 url 的 func 并运行测试,但速度较慢
- 循环调用测试
你有想法吗?
解决方案
推荐阅读
- selenium - 为什么即使使用 FailureHandling.CONTINUE_ON_FAILURE 也会停止测试用例
- postgresql - 为什么我在 ODBC 中出现 GoldenGate for PostgreSQL 错误?
- c# - 如何将对象列表中的值分配给c#中的另一个列表
- excel - 以编程方式重绘表单
- node.js - 在 Google Assistant 上捕获数以十万和千万计的数字 - Dialogflow
- php - simplexml_load_file 返回错误消息'未能加载外部实体“Auth_requestError 200Error”'
- ecmascript-6 - 使用 NextJS 定位边缘时,不会转译 Rest-spread
- mysql - 更改 Magento 数据库
- javascript - 缩放css后平滑滚动不起作用
- c++ - 使用不同的缓冲区大小创建对象