PageObject是selenium自动化测试项目开发实践的最佳设计模式之一,它主要体现对界面交互细节的封装,这样可以使测试案例更关注于业务而非界面细节,从而提高测试案例的可读性。 1.认识PageObject PageObject设计模式的优点如下: *减少代码的重复 *提高测试用例的可读性 * ...
分类:
编程语言 时间:
2017-11-19 13:31:20
阅读次数:
166
关于PageObject模式进行自动化代码的编写: PageObject简而言之理解就是:一个页面作为一个类,页面中所有的元素均作为类中的方法 当然PageObject也是一种分层思想。 以Python登录163邮箱举例: BrowserDriver作为打开浏览器驱动的一个方式 Page是所有的页面 ...
分类:
其他好文 时间:
2017-09-07 13:38:44
阅读次数:
143
因为最近遇到的技术问题一直没找到可行的解决办法,一直在翻看selenium的源代码,之前写测试代码的时候就是拿来即用,写什么功能啊,就按手动的操作步骤去转换,近日看到一个文章,又去wiki上查了查,觉得写的不错就记录下来了。 在使用selenium做UI测试的时候,往往并不是页面的每个功能我们都要测 ...
分类:
其他好文 时间:
2017-07-16 09:52:43
阅读次数:
146
之前写的自动化测试框架(PageObject设计思路)一直都是每执行一条用例,启动一次浏览器驱动就打开一次浏览器,一条用例执行结束之后就关闭浏览器。这样做不仅浪费时间而且每次都重启关闭chromedriver.exe也挺浪费资源的。所有根据TestNG生命周期的各个注解的执行顺序,对相关方法做了一点 ...
分类:
编程语言 时间:
2017-07-06 11:23:53
阅读次数:
1351
做过UI自动化的都晓得,在做UI自动化时定位特别依赖页面,一旦页面发生变更就不得不跟着去修改页面定位。 在webdriver中,假设你想对一个元素定位操作,那么你可能会编写下面的代码: driver.findElement(By.id("ad")).click(); 发现问题: 你有10个地方对这个 ...
分类:
其他好文 时间:
2017-07-02 10:30:20
阅读次数:
247
写之前想把这次的灵感记录下来: 之前看PO模式几次,始终不得法,感觉一片混乱,可就在一天早上,正在照着别人的代码写自己项目时突然脑海中想通了几个问题:1.为什么要封装页面。2、各个模块的作用以及为什么把某个东西封装在某个类里面(想通这节就可以举一反三,可以根据自己的需要任意的封装自己想用的东西)。 ...
分类:
其他好文 时间:
2016-11-24 11:24:45
阅读次数:
478
表单组件button:官方文档 Demo Code: var types=['default', 'primary', 'warn']; var pageObject = { data: { defaultSize: 'default', primarySize: 'default', warnSi ...
分类:
微信 时间:
2016-10-14 14:35:00
阅读次数:
934
软件测试培训WebDriver为了支持PageObject模式,内置了一个PageFactory的工厂类。接下来本文通过一个案例来讲下如何使用PageFactory。 首先定义一个PageObject下面这个Class定义了一个页面对象通过工厂的方式将目标页面上的元素都定义好并且定义了一个当前页面的 ...
分类:
其他好文 时间:
2016-10-12 13:40:44
阅读次数:
235
谈着这个话题很大,因为我自己在自动化分层的方面做的就不是很好,最近在做java+selenium中,如果不分层去管理,代码就显得很乱,如下: 下面代码主要是做了一个登录,登录后在修改自己的一些个人信息,第一次就把最通用的查找控件的方法,写在一个方法里面,所以能看到这样的方式“getmethod.ge ...
分类:
其他好文 时间:
2016-09-01 21:25:26
阅读次数:
196
本文想跟大家分享的是Selenium对PageObject模式的支持和自动化测试团队的构建。《Selenium For C#》系列的文章写到这里已经接近尾声了,如果之前的文章你是一篇篇的读下来并动手实践的话,我相信你应该可以模拟日常工作中80%常见的手动测试用例了。请注意:我的用词是模拟用例,而不是