Anthony_tester的博客

探索从QA角色到开发角色的转换之路

排序:
默认
按更新时间
按访问量

Java+Selenium3框架设计篇6-如何解决多条类下用例执行只启动一次浏览器的问题

前面我们实现了在setUp方法中添加登录的用例。今天,还是为了解决我们遗留的问题,如果执行多条测试用例,这些用例在不同类文件下,我们只需要启动一次浏览器,登录一次,然后根据顺序去执行多个类文件下的用例,最后退出并关闭浏览器。 解决思路: 1.在一个类文件中执行多个用例,我们现在没有问题 2.假如我...

2017-08-18 22:47:08

阅读数:4888

评论数:16

Java+Selenium3框架设计篇5-如何实现邮件发送测试报告

本篇继续回答网友的问题,这个主题是如何通过邮件发送测试报告。通过邮件发送测试报告,这个很重要,也很有必要。不管你使用什么自动化测试框架,都建议添加发送测试报告的功能。先来设计我们的发送邮件的场景:假如我们测试报告是固定的名称,放在固定的路径下。 1.下载java mail api包      ...

2017-08-16 22:15:57

阅读数:4306

评论数:6

Java+Selenium3框架设计篇4-如何实现登录功能放在setUp()方法中

本篇主要是回答一个网友的问题,就是他可以执行登录,但是登录之后的用例就执行不了,报空指针异常。在这里,特意用京东网站,结合testNG来举例实现这个功能,解决这个报错。我们的场景大概是这样的,我需要先登录,然后在京东首页搜索一个商品。就这么一个简单的测试场景,我们的测试用例的重点是在搜索商品,测试...

2017-08-15 23:08:09

阅读数:2904

评论数:10

Java+Selenium3框架设计篇3-利用京东来举例实现POM和测试页面基类

前面一篇,我介绍了BasePage.java的内容,解释了写这个类的好处。主要有二次封装selenium一些常见方法,还有就是创建所有页面类的父类。这篇,我们借助京东商城这个网站来举例如何实现POM并测试我们的BasePage类。 完整eclipse项目结构图如下: 1.BasePage....

2017-08-09 23:25:44

阅读数:4157

评论数:9

Java+Selenium3框架设计篇2-Selenium方法的二次封装和页面基类

前面我们介绍了如何设计支持不同浏览器测试,我们的解决方法是,通过切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试。我们暂且叫浏览器引擎类,这个类负责获取浏览器类型和启动不同浏览器,并做一些前提操作,例如最大化浏览器窗口和,打开测试服务器地址。接下来,这篇我们介绍如何封装几个Sel...

2017-08-06 22:57:21

阅读数:4131

评论数:1

Java+Selenium3框架设计篇1-跨浏览器支持

本篇开始介绍Java+Selenium+POM的简单自动化测试框架设计。第一个设计点,就是支持跨浏览器测试。从我个人角度来说,跨浏览器测试。同一个测试用例,支持用不同浏览器去执行。我们这里只考虑winodws平台的浏览器,而且只关注火狐和谷歌浏览器的自动化测试,我们已经知道IE执行很慢,而且容易出...

2017-08-02 21:21:27

阅读数:4137

评论数:21

Java+Selenium3框架设计准备篇12-纯JAVA方法实现日志输出

前面一篇介绍如何通过开源jar包Log4j.jar实现日志文件输出,Log4j确实很强大,能生成三种日志文件,一种是保存到磁盘的日志文件,一种是控制台输出的日志,还有一种是HTML格式的日志文件。有时候,我们不一定都需要这些文件,在我们自动化测试框架里,我们只需要把日志文件保存到磁盘文件中,所以,...

2017-07-25 23:14:38

阅读数:2524

评论数:1

Java+Selenium3框架设计准备篇11-用Log4j实现日志输出

本篇来学习一下,Selenium自动化测试中如何输出日志文件。任何软件,都会涉及到日志输出。所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件。开发通过看日志文件,知道这个崩溃产生的原因,至少知道触发崩溃的条件是什么。同样在自动化测试框架设计,日志文件输出是不可或缺的。我...

2017-07-24 22:14:01

阅读数:3271

评论数:4

Java+Selenium3框架设计准备篇10-用非PageFactory实现POM

前面一篇我们用PageFactory实现了POM,这边我们介绍如果不用PageFactory如何实现POM。 1.页面类内容如下 package pageObects; import java.util.concurrent.TimeUnit; import org.openqa.sele...

2017-07-19 16:55:36

阅读数:2027

评论数:1

Java+Selenium3框架设计准备篇9-用PageFactory实现POM

前面介绍了POM的优点和非POM方式写脚本,这篇介绍利用页面工厂类(page factory)去实现POM,通过查看PageFactory类,我们可以知道它是一个初始化一个页面实例的功能,在实例化该页面对象时候,也会一起实例化该页面的元素定位。直接来看看京东登录的例子,如果用POM实现,在测试脚本...

2017-07-19 15:51:39

阅读数:3417

评论数:9

Java+Selenium3框架设计准备篇8-POM简介

页面对象模型(Page Object Model)在Selenium Webdriver自动化测试中使用非常流畅,作为自动化测试工程师应该至少听说过POM这个概念。本篇介绍POM的简介,接下来一步一步告诉你如何在你Java+Selenium3自动化测试框架中实现POM。   Selenium中使用...

2017-07-19 15:24:55

阅读数:2760

评论数:19

Java+Selenium3框架设计准备篇7-TestNG如何disable一些case

本文继续学习TestNG的知识,有些时候,我们在写脚本的时候暂时不让一些测试用例执行,怎么办呢?有两种方法,代码注销这个用例区域,第二个是去除前面@Test注释,这样testNG运行就不会运行到这部分的代码。除了这两种常规方法,testNG提供了一个enabled的参数,可以设置布尔型,true表...

2017-07-19 12:13:06

阅读数:1656

评论数:0

Java+Selenium3框架设计准备篇6-TestNG执行测试方法依赖关系

本篇介绍TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题。如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法。 package lessons; import static org.testng.Ass...

2017-07-18 20:43:29

阅读数:1925

评论数:0

Java+Selenium3框架设计准备篇5-TestNG实现日志输出

本篇介绍利用TestNG中的Report类来实现简单的log输出,在TestNG中有一个Report的类,这个类的作用是,在添加了@Test的方法里面,通过Report.log("log message")这样的方式,给每个步骤添加日志解释,这些日志解释会显示在TestNG生成...

2017-07-18 15:49:43

阅读数:2199

评论数:2

Java+Selenium3框架设计准备篇4-TestNG实现DDT(2)

本篇继续介绍用TestNG和excel文件实现DDT场景。我们需要准备一个test-data.xlsx文件,并且放到eclipse项目下。 1.准备test-data.xlsx文件 2.利用POI读取excel文件内容,并保存到一个二维数组中。 package demo; import...

2017-07-17 23:16:56

阅读数:2502

评论数:8

Java+Selenium3框架设计准备篇3-TestNG实现DDT(1)

这篇介绍如何利用TestNG实现DDT(数据驱动测试 Data Driver Test),什么是数据驱动测试呢?想想一下这个场景,假如我有50个用户,需要测试登录。你会怎么测试呢。第一个肯定是写50个测试脚本去验证登录。第二个就是采用DDT,把用户名和密码写到一个表格里,然后依次从表格读取去运行这...

2017-07-15 22:56:13

阅读数:2493

评论数:2

Java+Selenium3框架设计准备篇2-TestNG通过变量实现启动不同浏览器测试

本篇介绍TestNG中的参数的作用,通过引入参数,来实现启动不同浏览器,一般参数需要在tesgng.xml文件里设置。这里要举例的场景是,我需要同时运行火狐和谷歌浏览器测试脚本。 1. 先创建一个TestCrossBrowser.java文件,输入以下内容 package lessons; im...

2017-07-14 14:51:44

阅读数:3220

评论数:8

Java+Selenium3框架设计准备篇1-TestNG简单介绍

前面文章我们运行测试用例都是在main方法下,有没有什么方法不需要用main方法去执行用,这就需要单元测试框架的支持,这篇简单介绍TestNG单元测试框架。 1.什么是TestNG 你们也许很多人听说过TestNG ,Junit,Nunit 这些工具,也肯定想它们到底有什么区别。 1)三者都是独...

2017-07-13 16:43:51

阅读数:4173

评论数:0

Java+Selenium3方法篇48-如何获取日期和时间

自动化测试也需要用到时间嘛?       当然,最常见的场景就是在开发自动化测试框架里,日志文件和图片保存。图片保存还可以用当前case的方法名,日志文件一般采用当前系统时间命名,前面截图文章,我们把图片命名为error.png,一般来说这样写法是不对的,因为我们写死了,很多情况下我们是借助系统...

2017-07-12 22:43:44

阅读数:1910

评论数:0

Java+Selenium3方法篇47-字符串切片操作

本篇介绍,自动化测试中关于断言部分,可能经常遇到的场景。从一个字符串中找出一组数字。这个就需要用到字符串切片函数split()。看看这个场景: 1. 百度搜索输入 anthony_tester csdn 2.点击查询,观察结果 3. 观察红圈元素的xpath表达式 需要做的事情是:...

2017-07-11 15:35:16

阅读数:1892

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭