(一)自动化准备

说明:本文主要记录了基于公司现有项目(一个电子商务平台),从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

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

  1. java与自动化的应用实例_Electorn(桌面应用)自动化测试之Java+selenium实战例子...

    基于electorn的桌面应用,网上相关资料较少.所有记录一下.使用java+selenium+testng对该类型应用的自动化测试方法. 代码样例 package com.contract.web. ...

  2. Web端(微信小程序)H5+java+selenium自动化

    前置步骤,创建工程(可以testng或普通工程),这里默认是创建的testng工程,前面文章中有讲如何配置好testng工程 当前很多微信小程序都是H5实现,这章主要是讲如何测试H5自动化. 直接上代 ...

  3. python 自动化框架_学会Python+Selenium,分分钟搭建Web自动化框架!

    用python+selenium实现UI自动化测试,要有一些HTML和xpth的基础,当然python基础一定是必须要会的.笔者建议花点时间了解下相关基础知识,不至于后面发懵. 一.什么是seleni ...

  4. Java+selenium简单实现web自动化测试

    最近在转行软件测试,有点艰难,为了提高自己的竞争力,只有不断的学习,学习多一点技术和知识. 这次要学习的是Java+Selenium的Web自动化测试,虽然这个自动化测试技术已经少有人用,或者说已经没 ...

  5. java+selenium自动化抓取51la数据

    java+selenium自动化抓取51la数据 初衷 环境依赖 demo上代码 效果来个马赛克 如果觉得写的不错或者想了解更多,欢迎收藏和关注~~ 初衷 前端埋点51la,进行网站统计.51la没有 ...

  6. java selenium自动化项目实战-入门(1)

    selenium java selenium自动化项目实战 1.[报错]org.openqa.selenium.ElementClickInterceptedException: element cl ...

  7. 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

    文章目录 关联 (公共变量传递一些值) 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作 基于J ...

  8. 记录 java + selenium脚本实现网页自动化

    java + selenium + Chrome 文章目录 一.项目引入selenium 二.下载chromedriver 三.代码测试 一.项目引入selenium 在pom文件中加入seleniu ...

  9. Selenium 凭什么成为 Web 自动化测试的首选?(内附源码)

    <自动化>工具 1.QTP QTP是一个商业化的功能测试工具,收费,支持web,桌面自动化测试. 2. Selenium(文章重点讲) Selenium是一个开源的web自动化测试工具,免 ...

最新文章

  1. 2022-2028年中国钢轨探伤车行业市场研究及前瞻分析报告
  2. Storybook 5.0正式发布:有史以来变化最大的版本\n
  3. linux图形登陆报拒绝权限,Linux-权限被拒绝?
  4. 打造安全的网站服务器
  5. JDBC的CRUD操作之PreparedStatement的删除操作
  6. MySQL 之视图、 触发器、事务、存储过程、内置函数、流程控制、索引(一)
  7. java自学方法_JAVA自学 方法
  8. 学python对数学要求高吗_人工智能的小男孩 大专学历的人没有数学基础想学习python技术未来能往大数据或人工智能方向进行职业发展吗?...
  9. 前端学习(3115):react-hello-初始化state
  10. 认识Windows Communication Foundation
  11. WPF/Sliverlight ScrollViewer与Panel(2)
  12. 在通往VR内容的道路上,音乐将成为一项重要助力
  13. 关于iOS 热更新(热修复)你必须知道的一种方法- JSPatch
  14. 德赛西威280b升级_牵手英伟达/德赛西威 理想自动驾驶蓝图初现
  15. 可实现的python拟牛顿法的DFP算法
  16. 格兰杰因果检验_R实现
  17. 巨杉数据库登榜互联网周刊“2022中国软件150强”及“2022大数据服务TOP150”
  18. 2007word文档删除尾注线
  19. 关于蜗牛星际的升级问题!
  20. php或js判断网站访问者来自手机或者pc机

热门文章

  1. 计算机网络实训室建设设备,计算机网络技术综合实训室建设方案.doc
  2. 你真的懂软件测试人员的痛苦吗?——目前软件测试5大误区
  3. c语言图片添加水印程序,[求助]C语言 bmp文件加上水印
  4. 性能测试(一)性能测试是什么?有哪些分类?
  5. 《深入理解Java虚拟机》第1,2章
  6. python 不显示图片 直接保存图片 matplotlib 后端执行指令
  7. mysql.data已拥有为,MYSQL LOAD DATA INFILE忽略重复行(自动增量作为主键)
  8. html中span标签w3c,HTML col 标签
  9. differential forms
  10. PDE8 wave equation: derivation