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

德州做网站公司牡丹江seo

德州做网站公司,牡丹江seo,好看的免费网站模板下载,jsp电商网站怎么做做过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.shuangfujiaoyu.com/news/57667.html

相关文章:

  • dedecms中餐网站模板济南网络推广公司电话
  • 金华网站建设app开发成本预算表
  • 响应式网站建设服务器百度地图推广电话
  • 枣庄手机网站开发公司关键词排名seo优化
  • asp网站制作实例教程上海推广系统
  • 陕西网站建设美化东莞今天最新消息新闻
  • 影视网站搭建平台seo资源网站 排名
  • 分销网站制作条件好的营销网站设计公司
  • 毕设网站代做一般预算多少钱百度引流平台
  • 浙江台州网络设计网站互联网推广项目
  • 网站制作报价维持地建网络网络推广有哪几种方法
  • 怎么注册一个电商平台上海百度推广优化排名
  • 网站建设好怎么发布地推app
  • 软件ui设计网站微博推广怎么做
  • 试卷a《网站建设与管理》百度做广告推广怎么样
  • 代运营公司有哪些页面seo是什么意思
  • 鲜花销售网站开发费用汽车网站建设
  • 做网站时给图片添加链接可以免费发帖的网站
  • 怎么做网站后缀识别符号才不会变深圳seo优化公司
  • wordpress删除自定义栏目视频优化是什么意思
  • 做网站公司需要什么条件排名优化关键词
  • wordpress 权限阅读seo成创网络
  • 网站的百度推广怎么做微信推广方案
  • 变更网站怎么做上海疫情又要爆发了
  • 上海门户网站制网络推广的细节
  • 网站排名云优化工具提高工作效率总结心得
  • wordpress json登陆seo整站优化方案案例
  • 网站怎么做伪静态seo查询在线
  • 会python做网站综合搜索引擎
  • 杭州有名的纯设计公司线下课程seo