Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium:使用POM遍历每个菜单页并转到页脚和遍历页脚链接_Python_Selenium_Pytest - Fatal编程技术网

Python Selenium:使用POM遍历每个菜单页并转到页脚和遍历页脚链接

Python Selenium:使用POM遍历每个菜单页并转到页脚和遍历页脚链接,python,selenium,pytest,Python,Selenium,Pytest,我想遍历网页的每个菜单链接。单击一个菜单链接后,它将转到页脚,并使用POM遍历页脚链接。 现在我可以遍历所有页面,但它主要在测试用例上随机运行。没有完成链条 MainPage.py from selenium.webdriver.common.keys import Keys from pages.BasePage import BasePage from config.locators import * from pages.Services import Services class M

我想遍历网页的每个菜单链接。单击一个菜单链接后,它将转到页脚,并使用POM遍历页脚链接。 现在我可以遍历所有页面,但它主要在测试用例上随机运行。没有完成链条

MainPage.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)
服务测试.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())
这是我的一些代码。所有的测试都能完美地工作,但不是连锁反应