python - Python Selenium:遍历每个菜单页面并转到页脚并使用 POM 遍历页脚链接
问题描述
我想遍历网页的每个菜单链接。单击一个菜单链接后,它会转到页脚并使用 POM 遍历页脚链接。现在我可以遍历所有页面,但它主要在测试用例上随机运行。不履行链条。
主页.py
from selenium.webdriver.common.keys import Keys
from pages.BasePage import BasePage
from config.locators import *
from pages.Services import Services
class MainPage(BasePage):
def __init__(self, driver):
self.locator = MainPageLocators
super().__init__(driver)
def click_service_button(self):
self.find_element(*self.locator.Services).click()
return Services(self.driver)
def click_insight_button(self):
self.find_element(*self.locator.Insights).click()
return Services(self.driver)
mainpage_test.py
from tests.BaseTest import BaseTest
from pages.MainPage import *
import pytest
class TestSignInPage(BaseTest):
def test_service(self):
print("main/services")
page = MainPage(self.driver)
sign_up_page = page.click_service_button()
self.assertIn("https://example.com/services/", sign_up_page.get_url())
def test_insights(self):
print("main/insights")
page = MainPage(self.driver)
sign_up_page = page.click_insight_button()
self.assertIn("https://example.com/insights/", sign_up_page.get_url())
服务.py
from selenium.webdriver.common.keys import Keys
from pages.BasePage import BasePage
from config.locators import *
from pages.About import About
from pages.CaseStudies import CaseStudies
class Services(BasePage):
def __init__(self, driver):
self.locator = ServicesLocators
super().__init__(driver)
def click_about(self):
self.find_element(*self.locator.About).click()
return About(self.driver)
def click_casestudies(self):
self.find_element(*self.locator.CaseStudies).click()
return CaseStudies(self.driver)
services_test.py
from tests.BaseTest import BaseTest
from pages.Services import *
class TestService(BaseTest):
def test_service(self):
#print("\n" + str(test_cases(1)))
page = Services(self.driver)
sign_up_page = page.click_about_button()
self.assertIn("https://example.com/about-us/", sign_up_page.get_url())
def test_insights(self):
#print("\n" + str(test_cases(2)))
page = Services(self.driver)
sign_up_page = page.click_carrer_button()
self.assertIn("https://example.com/case-studies/", sign_up_page.get_url())
这是我的一些代码。所有测试都可以完美运行,但不是链式的。
解决方案
推荐阅读
- amazon-web-services - Pulumi(TypeScript,AWS):如何将多个文件上传到 S3,包括。用于静态网站托管的目录中的嵌套文件
- java - Dali Java Persistence Tools - 数据库数据类型到 Java 数据类型的映射
- php - 如果登录,Symfony 跳过 API 的 JWT 身份验证
- php - 计算另一个连接表中的行数
- django - 如何使用循环从 Django 中的 html 模板请求
- powershell - 我的 Powershell 脚本不做多线程工作,为什么?
- c# - 在 docker 容器内对字符串进行测试失败
- mysql - 当文件不存在时,Mysql“LOAD DATA LOCAL INFILE”不应该停止执行
- python-3.x - 仅当我重新启动 shell 窗口时更新外部文件中的值才有效
- split - 如何在 forEach 循环中拆分 innerHTML 字符串并从两个子字符串中提取输出