Java + Selenium 3.x 实现Web自动化 - 1.自动化准备

(一)自动化准备

说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程。从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处。文章主要用于记录过程,翻阅回顾。如有记录出错,描述晦涩之处,望读者能及时指出,一起进行讨论交流,以免误导他人。

1 所使用工具的简单介绍

1.java + selenium WebDriver:用于脚本的编写;

2.TestNG:测试框架,用于结构化用例,生成测试报告;

3.log4j2:用于生成日志;

4.arrow插件:用于失败用例的重跑;

5.chrome浏览器;

2 提前安装 jdk1.8以上版本、eclipse、chrome

3 在线安装TestNG

1.打开eclipse,选择菜单【help】->【Install New Software】;

2.填写如下内容

Name:TestNG

Location:http://beust.com/eclipse

3.等待出现插件列表,选择TestNG,一路NEXT到Finish,之后重启eclipse完成安装;

4 在线安装PropertiesEditor插件

PropertiesEditor是eclipse的properties插件,用于将ACSII码转化为中文显示。在.properties文件中不能输入、显示中文,用该插件可以输入、显示中文。

注意:安装成功后,需要对eclipse编码设置为utf-8,否则仍不能显示中文.

1.打开eclipse,选择菜单【help】->【Install New Software】;

2.填写以下内容

Name:PropertiesEditor

Location:http://propedit.sourceforge.jp/eclipse/updates/

3.等待出现插件列表,选择PropertiesEditor,一路NEXT到Finish,之后重启eclipse完成安装;

5 提前下载的内容

1.1 client-combined-3.11.0.jar

1.2 selenium-sever-standalone-3.11.0.jar

1.3 log4j-api-2.11.0.jar

1.4 log4j-core-2.11.0.jar

1.5 webdriver

注意:webdriver需要与浏览器版本对应,推荐使用chrome浏览器和chromeDriver

chrome与chromeDriver版本对应表:http://chromedriver.storage.googleapis.com/2.37/notes.txt

chromeDriver各版本下载链接:http://chromedriver.storage.googleapis.com/index.html

在写本文时,当前使用chrome v65.0版本,chromeDriver 2.36_win64版本

jdk、eclipse、chrome请自行下载,其他下载内容(chromeDriver、jar包)可通过以下链接:

链接:https://pan.baidu.com/s/17VUiF9OAYf89hiaHco0HNw 密码:a7a1

6 创建java Project

6.1 创建Java Project

1.打开eclipse,选择菜单【file】->【new】->【Java Project】;

2.【Project Name】命名为SeleniumTest;

6.2 添加依赖jar包,构建路径

1.右击项目名称,【new】->【Floder】,【Floder Name】填写为lib;

2.lib文件夹主要存放依赖的jar包;

3.将上述jar包复制到lib文件夹;

4.全选jar包,右击,Build Path -> Add to Build Path;

6.3 添加ChromeDriver(浏览器驱动)

项目中创建文件夹res,将chromeDriver复制到res文件夹

6.4 添加TestNG配置文件

右击项目名称,【TestNG】->【convert to TestNG】,出现弹窗如下图,直接点击【Finish】;

6.5 添加TestNG依赖

右击项目名称,Build Path -> Add Libraries,出现弹窗如下图,选择【TestNG】->【Next】->【Finish】;

6.6 配置测试结果输出路径

1.选择菜单【window】->【preferences】(首选项,关于eclipse的基本配置都在这里)

2.选择【TestNG】,在【Output dictionary】处填写”\result\test-output“(配置测试结果输出路径,每个项目的测试结果都输出在该项目的result/test-output路径下)

6.7 设置编码格式为UTF-8(非必要)

选择菜单【window】->【preferences】,选择【General】->【Workspace】,选择编码格式为UTF-8

6.8 创建package & class

创建new Package,创建new Class,此时项目结构如下图

建议:

1.测试类的名称不要用Test(会与TestNG注解冲突),建议使用Test_1_OpenWindow、Test_2_Click等,类名中包含序号和功能;

2.包名建议用com.公司名/个人英文名.testcases;

6.9 修改TestNG配置文件

在test标签内,添加classes标签、class标签,如下图

class标签的name属性,是要执行的测试文件路径

7.试运行

现在基本的环境和依赖文件已经配置完成,我们可以来试一下TestNG是怎样执行测试方法的。

1.首先,在Test_1_OpenWindow类中创建方法,输出Hello World;

2.之后,添加@Test注解,并导入相应的依赖类(org.testng.annotations.Test);

3.右击xml文件,【Run As】->【TestNG Suite】;

4.此时,可以在控制台看到,Hello World正常输出,并显示出执行了1条用例,失败0条,跳过0条;

5.文件夹中打开SeleniumTest/result/test-output/index.html,同样可以查看测试运行结果;

注意:在eclipse里面F5刷新一下,就可以看到项目组的result文件夹了

8 关于UI自动化

1.UI自动化的本质就是模拟人工操作。从根本上来说,UI自动化仅包括2个动作:【获取元素】、【操作元素】。

2.我们的测试过程基本是建立在对页面元素的点击、输入、选择等【操作】之上,对结果进行判断。

3.包括我们找到、辨认出要操作的元素,对测试结果进行判断,实质上都是【获取元素】。

4.我们的点击、输入、选择等操作,归纳起来就是【操作元素】。

5.综上,UI自动化并不难,只要学会【获取元素】,之后针对各种元素,学会其【操作】方法,接下来就可以设计用例了。

原文地址:https://www.cnblogs.com/TaylorYoung/p/9710417.html

时间: 2024-07-31 12:01:30

Java + Selenium 3.x 实现Web自动化 - 1.自动化准备的相关文章

Java&Selenium&TestNG&ZTestReport 自动化测试并生成HTML自动化测试报告

一.摘要 本篇博文将介绍如何借助ZTestReport和HTML模版,生成HTML测试报告的ZTestReport 源码Clone地址为 https://github.com/zhangfei19841004/ztest,其中ZTestReport.java 和其template是我们需要的关键. 二.ZTestReport.java 根据我的需要,在源码基础上进行了稍微修改,其中几个注释的地方需要注意,将其集成进自己的自动化框架时需要做相应的修改 package util; import co

Java+selenium+Firefox/ IE/ Chrome主流浏览器自动化环境搭建

一.java+selenium+firefox 1.环境准备:JDK1.8 2.安装firefox浏览器v59 3.下载驱动:https://github.com/mozilla/geckodriver/releases 4.selenium依赖pom.xml导入:https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java selenium 历史版本镜像下载地址:https://npm.taobao.org/m

java selenium (五) 元素定位大全

页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 通过这三个步骤, 我们可以完成一个页面元素的操作, 找

java+selenium的helloworld

在学校上测试课程,接触到自动化管理工具,在加上助教工作需要改作业,所以想着学下selenium这一强大的web自动化工具. 1.lenium官网:http://www.seleniumhq.org/   在此下载selenium的安装包,我下载的是selenium-java-3.8.0.具体的selenium版本号不太清楚,应该是selenium2(也称作selenium webdriver) 2.下载chrome和对应的chromedriver. chrome版本号:62.0.3202.89 

java+selenium环境搭建

这篇文章只是为了记录一下搭建环境,方便自己日后查看. 一.在eclipse中搭建maven 1.安装maven 将apache-maven-3.5.0解压到C盘根目录下 配置maven环境变   MAVEN_HOME : C:\apache-maven-3.3.9  MAVEN : %MAVEN_HOME%\bin  MAVEN_OPTS : -Xms256m -Xmx512m  在path最前面加上: %MAVEN%; 验证maven是否安装成功 Cmd->mvn -version 成功则出现

使用分层的Selenium框架进行复杂 Web 应用的自动测试

Selenium概述 Selenium是一种Web应用的自动测试工具,通过模拟用户对Web页面的各种操作,可以精确重现软件测试人员编写的Test Cases步骤.Selenium包含三个工具:Selenium-IDE,Selenium-RC以及Selenium-Core.其中,Selenium-Core是驱动Selenium工作的核心部分,作为一个用JavaScript编写的测试引擎,它可以操作Web页面上的各种元素,诸如:点击按钮.输入文本框,以及断言Web页面上存在某些文本与Web元素等.

Maven实现Web应用集成测试自动化 -- 部署自动化(WebTest Maven Plugin)

上篇:Maven实现Web应用集成测试自动化 -- 测试自动化(WebTest Maven Plugin) 之前介绍了如何在maven中使用webtest插件实现web的集成测试,这里有个遗留问题,就是在执行maven的intergation测试时候web应用已经部署在容器中处于in service的状态,那么web应用的部署是否可以自动化呢?在我们公司的系统中,由于使用了weblogic的cluster,自己写了脚步来实现部署,花费了不少人力物力,其实java web应用早就有福音了,是一款自

Java 如何使用 OCR 技术识别验证码实现自动化登陆

如论实施敏捷的团队,或者实施 DevOps 的团队,通过自动化测试提高测试效率和软件质量都是其共同的选择.UI 自动化测试是自动化化测试当中的重要环节,在 UI 自动化测试中验证码识别一直是令自动化测试人员头疼的问题.今年来随着 OCR 技术.人工智能计算机视觉(AI Computer Vision)技术的成熟与使用大大提高了验证码的识别成功率.从而使得自动识别验证码自动化登陆目标系统成为可能. 本 Chat 主要内容包括: OCR 技术与人工智能计算机视觉(AI Computer Vision

java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getEnvironment()Lorg/springframework/core/env/ConfigurableEnvironment;问题

在springsecurity学习中,在加入spring有关的jar包后,出现java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getEnvironment()Lorg/springframework/core/env/ConfigurableEnvironment报错 出错原因:jar包版本有冲突 解决方法:换不同版本的jar包就可以解决问题了