当前位置: 首页 > news >正文

做原油的网站小店网站制作

做原油的网站,小店网站制作,海拉尔做网站,钢材网站模板基于本人也是一个初学者#xff0c;在运用POM模式的时候记录一下自己的学习笔记。 如果你是大神#xff0c;那么可以略过#xff0c;如果你是初学者#xff0c;希望对你有帮助。 本文阐述了以下几个问题#xff1a; 什么叫POM模式 为什么要用POM模式 POM模式的思想 POM模…基于本人也是一个初学者在运用POM模式的时候记录一下自己的学习笔记。 如果你是大神那么可以略过如果你是初学者希望对你有帮助。 本文阐述了以下几个问题 什么叫POM模式 为什么要用POM模式 POM模式的思想 POM模式的运用 在刚学习selenium自动化测试的时候一般都是 1.打开网页 2.定位元素进行操作 3.关闭网页 以百度为例 import time from selenium import webdriver from selenium.webdriver.common.by import Bydriverwebdriver.Chrome() driver.get(https://www.baidu.com/)text_inputdriver.find_element(By.XPATH,//*[idkw]) text_input.send_keys(京东) submit_buttondriver.find_element(By.XPATH,//*[idsu]) submit_button.click() time.sleep(8) driver.quit() 以上是一个简单的访问百度网页搜索京东的例子。 因为只有一个页面所以相对来说使用这种模式的弊端没有显露出来。 当被测对象有很多页面的时候问题开始显现出来了。 假设在5个测试用例中都使用到了元素X那么当前端对元素X做了更新处理的时候。我们就需要找到这5个引用到了元素X的地方对元素X进行更改。 所以引入POM模式。 什么叫POM模式 POM模式Page Object Model即页面对象模型。 通俗讲就是把页面的元素、操作、数据等分离开来再通过用例调用。 本质上就是一种封装的思想让代码逻辑更清晰容易维护。这样的话就能减少重复大量的定位元素和维护的时间成本。 为什么要用POM模式 通过这种模式我们把页面的元素定位和业务操作分离开。 1.多个测试人员可同时编写和维护脚本 2.代码逻辑更清晰更易维护 POM模式的思想 将页面分为3层操作层、页面层、用例层 操作层就是对一些元素的公共操作。比如点击输入拖拽。 页面层页面元素的定位及属于该页面独有的操作也可封装在这里。 用例层在页面中操作元素。也就是测试用例。 关系如下图网络找的侵删。 操作层BasePage点击输入拖拽等公共的操作。 页面层Page继承BasePage实现元素定位以及一些该页面独有的功能。 用例层TestCase测试用例。 POM模式的运用 根据POM模式的思想 1.首先封装公共操作到base_page 2.然后定位页面元素至page 3.最后在test_case写测试用例 base_page.py 定义了打开网页定位元素点击输入关闭网页的方法。 可被其他页面继承。 from selenium import webdriver import logging from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ECclass BasePage:def __init__(self):self.driverwebdriver.Chrome()def open_url(self,url):self.driver.get(url)self.driver.maximize_window()def find_element(self,locator,timeout10):try:elementWebDriverWait(self.driver,timeout).until(EC.presence_of_element_located(locator))return elementexcept:logging({locator}元素没有找到)raisedef click(self,locator):elementself.driver.find_element(*locator)element.click()def send_keys(self,locator,text):elementself.driver.find_element(*locator)element.send_keys(text)def quit(self):self.driver.quit()index_page.py 具体的页面元素定位以及一些该页面元素独有的方法。 继承了BasePage。 from selenium.webdriver.common.by import By from base_page import BasePage class IndexPage(BasePage):text_input (By.XPATH, //*[idkw])submit_button (By.XPATH, //*[idsu])def input_text(self,text):self.send_keys(self.text_input,text)def submit(self):self.click(self.submit_button)testcase.py 前置操作初始化driver打开网页。 执行测试用例。 后置操作关闭浏览器。 import time import unittest from index_page import IndexPageclass TestCaseSearch(unittest.TestCase):def setUp(self)-None:self.driverIndexPage()self.driver.open_url(https://www.baidu.com/)def tearDown(self)-None:self.driver.quit()def testSearch(self):self.driver.input_text(text京东)self.driver.submit()time.sleep(8)if __name__ __main__:unittest.main()
http://www.w-s-a.com/news/673230/

相关文章:

  • 有趣的个人网站网页设计与制作的岗位职责
  • 有建设网站的软件吗长沙做网站的公司对比
  • 网站的外链接数中铝长城建设有限公司网站
  • 北京建设网站公司网站建设费用 无形资产
  • 适合seo的建站系统如何建立网页
  • 我想自己建立一个网站给大家分享个永久免费的云服务器
  • 怎样做网站和网站的友情链接官网优化 报价
  • 购买网站空间大小聊城网站空间公司
  • 做像美团淘宝平台网站多少钱开发网站企业
  • 网站建设前期费用二手购物网站策划书
  • dede学校网站百度联盟是什么
  • 献县网站建设网站开发专业定制
  • 龙华做网站yihe kj安徽六安彩礼一般给多少
  • flash网站建设公司我的小程序在哪里找
  • 建网站需要数据库吗如何制作简单的网页链接
  • 杭州设计企业网站高端公司上虞做网站公司
  • 做网站能赚钱么用wordpress搭建知名网站
  • 阿里云服务器网站开发青岛做网站找哪家
  • 凡科做的网站为什么打不开织梦cms仿某作文网站整站源码(带采集)安装数据库
  • 免费h5模板网站模板汽车报价网址
  • 蔡甸网站建设烟台网站建设yt
  • 最流行的网站开发新开的网页游戏平台
  • 暴富建站wordpress 标签分类
  • 搞笑网站源码百度快照替代
  • 重庆网站建设哪家公司哪家好关键词是怎么排名的
  • 青县网站建设今天国际大事新闻
  • 深圳正规网站制作哪里好怎样优化网络
  • 米拓网站建设教程dw成品网站成品视频教学
  • 用jsp做的网站源代码天门网站网站建设
  • 百度如何把网站做链接地址有没有资源可以在线观看