java -ui自动化初体验
本文来讲一下ui自动化的环境搭建,以及最初级的打开网页操作
说起ui自动化,想想大概是前年的时候我开始接触和学习的吧,怎么说呢无论是pc还是app,ios还是android,确实很神奇而且很华丽,但是成本很高,华而不实,对于测试而言恐怕编写成本和维护成本很高,但是收益比较有限,较为适合大公司吧,小公司建议谨慎使用,进入小公司做ui自动化的人也要注意,很难出成绩而且容易被开除,一般的出现了ui问题,往往客户会比你更快发现,我为了实现ui自动化用了失败重跑,连续错误才报错,邮件,关键字驱动等等总算是有一定的成就,,,这些事情将来再说
本文讲的是ui自动化是一个比较极端而且最简单的场景,刷访问量,,,
比方说一个网站或者是博客园的网站吧,有时候会有访问量,这时候如果用人手去刷会很痛苦,但是不刷又上不去,我们学了ui自动化后会想,也许我能把自动化为我所用?然后本文来大概介绍一下,基本从零开始吧
所谓的ui自动化原理,网上有很多介绍,我还是使用java来做,本人并不是想说我比他人强,说的透彻,所以大家可以先去这个地方来简单了解一下ui自动化原理http://www.cnblogs.com/TankXiao/archive/2012/03/29/2418219.html,这哥们确实比较nb,可惜还是一直在做测试,哎,很无语
我先大概说一下,所谓ui自动化,主要是使用代码方式(java或者python或者其他)来启动一个特定的浏览器driver,实现打开浏览器并利用该浏览器做一些代码可以操纵的操作,然后利用代码对页面中一些东西进行校验,从而达到与人打开页面检测的相同效果,所以我们可以明白,java的ui自动化主要是几个部分,本地java环境->selenium jar包->java代码启动浏览器(一般在before中)->一些操作->关闭浏览器(一般在after中)->从新打开一个浏览器->下一个流程校验->,,,
故首先读者应下载一个selenium的jar包导入工程,在下载一个浏览器的模拟器然后创建一个方法,写上如下代码
package zlr
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; import static org.junit.Assert.fail; public class testzhiyinlou {
private WebDriver driver;//声名一个driver
private StringBuffer verificationErrors = new StringBuffer(); @Before
public void setUp() throws Exception {
System.setProperty("webdriver.chrome.driver", "E:\\driver\\chromedriver.exe");//指定要启动的浏览器driver路径
driver = new ChromeDriver();
}
@After
public void TearDown() throws Exception {
driver.quit();//结束后浏览器退出
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
@Test
public void testszlr1() throws Exception {
driver.get("https://www.cnblogs.com/xuezhezlr/p/9127378.html");//浏览器打开一个网页
}
}
上文中代码已经注释的比较完整了,针对ui自动化而言,代码中会把要打开和操作的浏览器定为一个driver,而相关的操作都要在这个driver中进行的,读者需要从一些网站上下载selenium包和要打开的浏览器的driver,下载后写上上面的代码不报错说明,各个包是没啥问题的
按照道理说,点击执行就可以执行了,但是还没有执行,是为啥呢?
主要是因为代码中windows(或者mac)->java版本(1.6,1.7,1.8?)->selenium版本->浏览器版本不兼容导致的问题,出现上述问题,应重新下载新的浏览器driver来操作
针对driver而言呢,总得来说,是这样的,火狐浏览器是不需要配置的,会使用自己自带的driver,但是不保证能打开页面并对元素进行操纵,其他浏览器基本都是要使用driver的,还有几个比较特殊的浏览器,无痕浏览器,不会在电脑上出现页面进行操作,而是直接使用内核来进行操作
上述就是ui自动化的演示,总得来说可以在页面中打开多个浏览器并刷访问量,另一方面可以利用定时任务来控制刷的频率
java -ui自动化初体验的更多相关文章
- Apache Beam入门及Java SDK开发初体验
1 什么是Apache Beam Apache Beam是一个开源的统一的大数据编程模型,它本身并不提供执行引擎,而是支持各种平台如GCP Dataflow.Spark.Flink等.通过Apache ...
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...
- 阿里巴巴 Java 开发规约插件初体验
阿里巴巴 Java 开发手册 又一次来谈<阿里巴巴 Java 开发手册>,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的规范,对于 Java 开发者简直就是必备 ...
- Android开发学习之路--UI之初体验
之前都是学习Activity,对于布局都没有做过学习,这里就简单学习下吧.下面看下Android Studio下有哪些控件: 这里分为Widgets,Text Fields,Containers,Da ...
- java画图之初体验
1.实现画图程序所需的API类 JFrame JButton ActionListener 动作事件接口 ActionEvent ...
- 阿里云部署Java web项目初体验(转)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...
- java的多线程初体验
这里以车站售票作为模拟场景,多个票务人员同时出售某一列高铁(G250?)的车票,售票的基本保证有2点: 1.不能售出多于预定限额的车票. 2.不能售出具有相同座位的车票. 初学java,有不当的地方各 ...
- 阿里云部署Java web项目初体验
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了怎样在阿里云上安装JDK.Tomcat以及其配置过程. 最后以一个实例来演 ...
- Selenium2自动化——初体验
一.Windows下的环境搭建 1.安装Python 访问Python官网:https://www.python.org/ 2.安装setuptools与pip setuptools是Python e ...
随机推荐
- 基于jdk1.8的ArrayList源码分析
前言ArrayList作为一个常用的集合类,这次我们简单的根据源码来看看AarryList是如何使用的. ArrayList拥有的成员变量 public class ArrayList<E> ...
- design language
design language https://en.wikipedia.org/wiki/Design_language 设计语言(设计词汇)是一种超架构的方案和风格, 它用于指导产品组件或者架构配 ...
- vue+element 正则表达式进行表单验证
<template> <el-form :model="form" label-width="115px" ref="form&qu ...
- js关于“call方法”百度,阿里超难面试题
面试题:function fn(a,b){ console.log(this); console.log(a); console.log(a+b);}fn.call(1);fn.ca ...
- JQuery基本知识、选择器、事件、DOM操作、动画
- Python的安装及小程序练习
Python 1.Python的安装教程 (1)进入Python官网 (2)双击Python-3.6.4.exe安装程序,勾选Add Python 3.6 to PATH (3)选择自定义安装. (4 ...
- vue.nextTick简单的用法
官方文档: 自己写了一个小demo: <template> <div> <p ref="txt" v-if="show">{ ...
- kruskal重构树学习笔记
\(kruskal\) 重构树学习笔记 前言 \(8102IONCC\) 中考到了,本蒟蒻不会,所以学一下. 前置知识 \(kruskal\) 求最小(大)生成树,树上求 \(lca\). 算法详 ...
- 关于Android8及以上版本自定义广播无法接收问题
高版本Android直接发送广播是无法接收的 e.g. sendBraodcast(intent); 需要在前面加上(前一个String为接收广播应用的项目地址,后一个为该广播类的地址) intent ...
- Linux代理搭建TinyProxy
操作系统:阿里云CentOS 7.4 64位 安装方法: yum install tinyproxy 配置: vi /etc/tinyproxy/tinyproxy.conf Port 8888 // ...