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

如何做好网站的优化的监测评价广州网站建设星珀

如何做好网站的优化的监测评价,广州网站建设星珀,wordpress文章怎么分页,多商户wordpressPage Object Model#xff1a;PO设计模式是selenium自动化测试中最佳的设计模式之一#xff0c;主要体现在对界面交互细节的封装#xff0c;也就是在实际测试中只关注业务流程就OK了传统的设计中#xff0c;在新增测试用例之后#xff0c;代码会有以下几个问题#xff1a…Page Object ModelPO设计模式是selenium自动化测试中最佳的设计模式之一主要体现在对界面交互细节的封装也就是在实际测试中只关注业务流程就OK了传统的设计中在新增测试用例之后代码会有以下几个问题1.易读性差一连串的find element会使代码显得杂乱无章2.可扩展性不好用例孤立无法扩展3.可复用性差无公共方法很难复用4.可维护性差一旦元素变化需要维护修改大量测试用例 因此考虑到优化  PO模式是一种自动化测试设计模式讲页面定位和业务操作分开也就是把对象的定位和测试脚本分开从而提供可维护性。 首先抽象封装一个BasePage类这个基类拥有一些指向Webdriver实例的属性然后每一个Page继承基类BasePage可以通过driver管理每一个Page中的元素而且在Page中将这些操作封装为一个一个的方法。TestCase继承unittest里面的TestCase类并且依赖page类进行组织测试步骤的工作。 这样做的好处就是有元素变化只需要维护每一个Page就行了测试步骤变化只需要维护TestCase即可 PO各个核心要素的介绍 BasePage: class BasePage(object):def __init__(self,driver):self.driver driverpass Page: from SeleniumProject.PO.BasePage import BasePage class LoginBase(BasePage):# 定位元素括号中是通过find_element来获取元素的属性uname ()pwd ()def set_uname(self,uname):name self.driver.find_element(*LoginBase.uname)name.send_keys(用户名)def set_pwd(self,pwd):password self.driver.find_element(*LoginBase.pwd)password.send_keys(密码)pass TestCase: from unittest import TestCase import unittest from selenium import webdriver class Test_Login(TestCase):def setUp(self):self.driver webdriver.Chrome()self.driver.get(https://cn.bing.com/)# 测试步骤def test_Login(self):self.driver.get(self.base_url)passdef tearDown(self):self.driver.quit()if __name__ __main__:unittest.main() 下面举一个简单的例子来看一下PO模式 业务要求就是用Chrome浏览器在https://cn.bing.com/中搜索“墨菲特”然后点击搜索按钮再关闭浏览器 基类BasePage类 from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as ECclass BasePage(object):BasePage封装所有页面的公有方法例如url、driver、find_element# 构造函数里面的参数就是类的所有参数def __init__(self,selenuime_driver,base_url):self.driver selenuime_driverself.url base_url# 定义一个私有方法其他类不能调用该方法def _open(self,url):self.driver.get(url)self.driver.maximize_window()# 定义open()方法调用_open()方法def open(self):self._open(self.base_url)# 重写find_element()方法参数为任意数量的带*的参数# 此方法是为了保证元素是可见的def find_emelemt(self,*loc):try:# 保证元素可见WebDriverWait(self.driver,10).until(EC.visibility_of_all_elements_located(loc))return self.driver.find_element(*loc)except:print(页面中没有%s % % (self.loc))# 定义script()方法用于执行JS脚本比方上上传文件啥的def script(self,src):self.driver.excute_script(src)# 定义页面跳转方法比方说有的页面有frame嵌套def switch_frame(self,loc):return self.driver.switch_to_frame(loc)# 重新定义send_keys()方法为了保证搜索按钮是否存在还有有的输入框中默认有值要清空def send_keys(self,loc,value,clear_firstTrue,click_firstTrue):try:# getattr方法相当于实现了self.locloc getattr(self,_%s%loc)# 是否存在搜索按钮if click_first:self.find_element(*loc).click()# 清空搜索框中的值并输入需要搜索的值if clear_first:self.find_emelemt(*loc).clear()self.find_emelemt(*loc).send_keys(value)except:print(页面上未找到%s元素%(self.loc)) Page类 from selenium.webdriver.common.by import By from SeleniumProject.PO.BasePage import BasePageclass SearchPage(BasePage):# 定位元素search_loc (By.NAME,q) #搜索框btn_loc (By.NAME,go) #搜索按钮# 重写父类的open()方法def open(self):self._open(self.base_url)def search_content(self,content):# 调用父类的find_emelemt然后将本类的参数传入content1 self.find_emelemt(*self.search_loc)content1.send_keys(content)def btn_click(self):btn1 self.find_emelemt(*self.btn_loc)btn1.click() TestCase类 from unittest import TestCase import unittest from selenium import webdriver from time import sleep from SeleniumProject.PO.Search import SearchPage class CaseRun(TestCase):def setUp(self):self.driver webdriver.Chrome()sleep(3)self.url https://cn.bing.com/sleep(3)self.content 墨菲特# 测试步骤def test_search(self):bing_page SearchPage(self.driver,self.url)bing_page.open()sleep(3)bing_page.search_content(self.content)sleep(3)bing_page.btn_click()sleep(3)def tearDown(self):self.driver.quit()if __name__ __main__:unittest.main() 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 软件测试面试小程序 被百万人刷爆的软件测试题库谁用谁知道全网最全面试刷题小程序手机就可以刷题地铁上公交上卷起来 涵盖以下这些面试题板块 1、软件测试基础理论 2、web,app接口功能测试 3、网络 4、数据库 5、linux 6、web,app接口自动化 7、性能测试 8、编程基础9、hr面试题 10、开放性测试题11、安全测试12、计算机基础 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.hkea.cn/news/14476843/

相关文章:

  • 专业软件网站建设百度上做网站推广
  • 用群晖nas做网站网站制作需要平台
  • 怎么用html做移动网站吗为外国企业做中文网站建设
  • 湖南移动网站建设网站建设v
  • 沈阳正规制作网站公司制作网页的最后一个阶段工作是什么
  • 株洲在线网站的目标客户网络技术学什么
  • seo排名推广工具杭州网站建设seo优化
  • 网站建设的人性分析影视网站建设
  • 网易那个自己做游戏的网站是什么原因西安做网站哪家公司好
  • 关于建设网站的请示报告商城网站用html做
  • 北京营销网站制作网站建设模板平台
  • 做网站放什么软件宁波seo优化公司排名
  • 从零开始建设网站中小学生教育网站建设方案
  • i岗网站建设电商小程序开发需要多少钱
  • 云建网站网址电子工程网络
  • 苏州网站开发公司哪里济南兴田德润简介郑州有没有厉害的seo
  • 网站建设及维护价钱网站开发及建设赔偿条款
  • 楼梯 技术支持 东莞网站建设通过页面wordpress文件位置
  • 网站浮动窗口怎么设置宝塔怎么做网站的301跳转
  • 南宁市住房和城乡建设部网站网站js下载
  • 安徽网站建设哪家好网站建设域名多少钱
  • 网络在线培训网站建设方案查询wordpress主题
  • 副食店年报在哪个网站做网易企业邮箱客户端
  • 微信公众号可以做什么沈阳网站推广优化排名公司
  • 做逆战网站的名字吗wordpress分类目录默认模版
  • 可视化网站建设软件国内有没有开源的wordpress主题网
  • 网站建设哪家乱起封神是那个网站开发的
  • qq是哪款软件开发的网站seo诊断技巧
  • dedecms确定网站风格工程建设最好的网站
  • 做我的世界壁纸的网站福州哪家网站制作设计高端还实惠