多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Python自动化测试-PO模型封装

更新时间:2022-07-01 09:30:30 作者:多测师 浏览:34

  1 :实现 BasePage

  from selenium import webdriver

  from selenium.webdriver.common.action_chains import ActionChains # 鼠标操作

  class BasePage():

  '''

  BasePage 封装所有界面都公用的方法。

  例如 driver,find_element 等

  '''

  # 实例化 BasePage 类时,事先执行的 __init__ 方法,该方法需要传递参数

  def __init__(self,driver,url):

  self.driver = driver

  self.base_url = url

  # 进入网址

  def get(self):

  self.driver.get(self.base_url)

  # 元素定位 , 替代八大定位

  def get_element(self,*locator):

  return self.driver.find_element(*locator)

  # 点击

  def left_click(self,*locator):

  ActionChains(self.driver).click(self.get_element(*locator)).perform()

  # 输入

  def send_text(self,text,*locator):

  self.driver.find_element(*locator).send_keys(text)

  # 清除

  def clear_text(self, *locator):

  self.driver.find_element(*locator).clear()

  # 表单切换

  def switch_iframe(self,*locator):

  self.driver.switch_to.frame(self.driver.find_element(*locator))

  # 窗口切换

  def switch_window(self,n):

  self.driver.switch_to.window(self.driver.window_handles[n])

Python自动化测试-PO模型封装

  2 :实现 SearchPage

  from selenium.webdriver.common.by import By

  from base.base_page import BasePage

  class SearchOne(BasePage):

  def __init__(self,driver,url):

  BasePage.__init__(self,driver,url)

  # 进入百度

  def open_baidu(self):

  self.get()

  # 输入数据

  def input_search_content(self,text):

  self.send_text(text,By.ID,"kw")

  # 点击按钮

  def click_baidu_search(self):

  self.left_click(By.ID, "su")

  def click_open_hao(self):

  self.left_click(By.XPATH,".//*[@id='1']/h3/a[1]")

  3 :实现外汇跟单gendan5.com TestCase

  import unittest

  from selenium import webdriver

  from page.page_one import SearchOne

  from page.page_two import SearchTwo

  class BaiBu(unittest.TestCase):

  @classmethod

  def setUpClass(cls) -> None:

  cls.driver = webdriver.Firefox()

  cls.driver.implicitly_wait(10)

  def test001(self):

  url="

  s = SearchOne(self.driver,url)

  s.open_baidu()

  s.input_search_content("123")

  s.click_baidu_search()

  s.click_open_hao()

  self.driver.switch_to.window(self.driver.window_handles[1])

  def test002(self):

  s=SearchTwo(self.driver,"")

  s.open_baidu_map()

  def tearDown(self) -> None:

  # self.driver.quit()

  pass

  if __name__ == '__main__':

  unittest.main()

  以上内容为大家介绍了Python自动化测试-PO模型封装,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部