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

咸阳兼职做网站网站建设条款

咸阳兼职做网站,网站建设条款,网站开发保密协议模板,dedecms大气金融企业网站模板免费下载做过web自动化测试的同学,对Page object设计模式应该不陌生。 Page object库应该根据以下目标开发: Page object应该易于使用 清晰的结构 PageObjects 对于页面对象 PageModules对于页面内容 只写测试,而不是基础。 在可能的情况下防止…

做过web自动化测试的同学,对Page object设计模式应该不陌生。

Page object库应该根据以下目标开发:

Page object应该易于使用

清晰的结构

PageObjects 对于页面对象

PageModules对于页面内容

只写测试,而不是基础。

在可能的情况下防止样板代码。

不需要自己管理浏览器。

在运行时选择浏览器,而不是在类级别。

不需要直接接触selenium。

这只是一种设计模式,只要遵循它有思想,不借助第三方库,我们一样可以实现这种设计模式。

创建baidu_page.py 文件,实现page层封装。

 
class BasePage:"""基础Page"""def __init__(self, driver):self.driver = driverdef get(self, url):self.driver.get(url)def id_(self, id_):return self.driver.find_element_by_id(id_)def xpath(self, xpath):return self.driver.find_element_by_xpath(xpath)class BaiduPage(BasePage):"""百度首页Page"""@propertydef search_box(self):return self.id_("kw")@propertydef search_button(self):return self.xpath("//*[@id='su']")

我们本质上要将元素的定位和元素的操作分开,page层用来定义元素的定位。

接下来创建,test_baidu.py文件,用来实现自动化测试。

from selenium import webdriver
from baidu_page import BaiduPagedr = webdriver.Chrome()
page = BaiduPage(dr)
page.get("https://www.baidu.com")
page.search_box.send_keys("page object")
page.search_button.click()dr.close()

这里你将看不到元素的定位,分层的好处就是,当元素的定位发生改变时,只需要维护好page层即可,对于测试用例来说不需要关心元素怎么定位,只要专心设计好用例即可。

可是,Page层的编写并不太简便,本质上它的作用只是定义一些元素的定位。那我告诉你,只需要4行代码也可以实现上面baidu_page.py的功能,你会不会太简单了?

from page_objects import PageObject, PageElementclass BaiduPage(PageObject):search_box = PageElement(css='#kw')search_button = PageElement(id_='su')

是的,就这么简单,专注于元素的定位的编写,几乎没有多月的东西。而且还可以添加超时时间哦!

from page_objects import PageObject, PageElementclass BaiduPage(PageObject):search_box = PageElement(css='#kw', time_out=2)search_button = PageElement(id_='su', time_out=10)

这样再也不用写恶心的显式等待了,是不是很爽!?

定位一组元素也是非常简单的说。

from page_objects import PageElementsclass BaiduPage(PageObject):……# 百度搜索结果search_result = PageElements(xpath="//div/h3/a")

啥? 项目地址? 别急!别急!

GitHub地址:
GitHub - SeldomQA/poium: Page Objects design pattern test library, support selenium、appium、playwright, etc

原项目已经不再维护,我阅读了原项目代码,虽然只有100多行,但设计非常精妙。可惜缺少元素的等待,这将有助于定位元素的稳定性,所以,在原有项目的基础上增加的该功能。

下载安装:

$ python setup.py install

通过pip命令安装:

$ pip install -i https://testpypi.python.org/pypi selenium-page-objects

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

http://www.yayakq.cn/news/608208/

相关文章:

  • 做网站需要什么技术支持宿州网站网站建设
  • 如何检测网站是否安全有没有专门做联谊的网站
  • 衡水网站公司成都旅游图高清大图
  • 把网站做成手机版网站设计公司 北京
  • ppt做书模板下载网站有哪些莆田网站制作报价
  • 房地产管理局网站做网站的公司风险大不大
  • 做百度网站每年的费用优秀高端网站建设服务商
  • 做淘宝客网站一定要备案吗专门做加盟的网站
  • c语言 做网站新手怎么做网站优化
  • 网站怎么换模板wordpress 字数
  • 免费下载的视频网站网络推广策划培训班
  • 建筑网站建设赏析wordpress添加分类图片尺寸
  • 企业网站 微博模块wordpress cat_name
  • iis7 多个网站 80端口wordpress显示当前位置 代码
  • 怎么开设网站 优帮云网页设计教学视频免费
  • 信誉好的集团网站建设做模板网站
  • 网站内容管理企业所得税优惠政策最新2023上海
  • wordpress博客站模板下载网站自然排名工具
  • 网站建设项目网络图python基础教程电子书
  • 企业网站开发标准wordpress文章存在哪里
  • 建设银行内部网站制作网页设计软件列表代码
  • 国外不织布网站做的教具专业网站优化外包
  • 分类网站 制作提供网站建设排行榜
  • 中文wordpress网站照明公司网站制作
  • 网页设计html代码大全桂林如何诊断网站seo
  • 交互网站模板app市场调研报告
  • 广东网站推广学习软件的网站
  • 营销型网站定做网站白名单是什么意思
  • 福田网站建设有什么免费开发网站建设软件有哪些
  • wordpress看图插件王通seo赚钱培训