本文来讲一下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自动化初体验的更多相关文章

  1. Apache Beam入门及Java SDK开发初体验

    1 什么是Apache Beam Apache Beam是一个开源的统一的大数据编程模型,它本身并不提供执行引擎,而是支持各种平台如GCP Dataflow.Spark.Flink等.通过Apache ...

  2. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  3. 阿里巴巴 Java 开发规约插件初体验

    阿里巴巴 Java 开发手册 又一次来谈<阿里巴巴 Java 开发手册>,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的规范,对于 Java 开发者简直就是必备 ...

  4. Android开发学习之路--UI之初体验

    之前都是学习Activity,对于布局都没有做过学习,这里就简单学习下吧.下面看下Android Studio下有哪些控件: 这里分为Widgets,Text Fields,Containers,Da ...

  5. java画图之初体验

    1.实现画图程序所需的API类 JFrame JButton ActionListener              动作事件接口 ActionEvent                        ...

  6. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  7. java的多线程初体验

    这里以车站售票作为模拟场景,多个票务人员同时出售某一列高铁(G250?)的车票,售票的基本保证有2点: 1.不能售出多于预定限额的车票. 2.不能售出具有相同座位的车票. 初学java,有不当的地方各 ...

  8. 阿里云部署Java web项目初体验

    林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了怎样在阿里云上安装JDK.Tomcat以及其配置过程. 最后以一个实例来演 ...

  9. Selenium2自动化——初体验

    一.Windows下的环境搭建 1.安装Python 访问Python官网:https://www.python.org/ 2.安装setuptools与pip setuptools是Python e ...

随机推荐

  1. ArcGis dbf读写——挂接Excel到属性表 C#

    ArcMap提供了挂接Excel表格信息到属性表的功能,但是当数据量较大到以万计甚至十万计的时候这个功能就歇菜了,当然,你可以考虑分段挂接.这个挂接功能只是做了一个表关联,属性记录每个字段的信息需要通 ...

  2. 利用SSL-Change Cipher Spec传递信息

    Change Cipher Spec 中文翻译为 更改密码规格. 恢复原有会话的SSL握手过程流程如下: 关于如何用Change Cipher Spec传输数据,可以扩展tcp.payload. tc ...

  3. 【SQL学习笔记】一、select语句

    SQL有别于其他的编程语言的一点在于首先处理的并不是写在第一行的语句(select),而是from字句. 为了更详细的了解select语句的每个部分,举例如下: 该语句返回的结果是下订单超过4次的女顾 ...

  4. 【bzoj 2159】Crash 的文明世界

    Description Crash小朋友最近迷上了一款游戏——文明5(Civilization V).在这个游戏中,玩家可以建立和发展自己的国家,通过外交和别的国家交流,或是通过战争征服别的国家.现在 ...

  5. AngularJs的基本使用(一)

    AngularJS 指令 AngularJS 通过 ng-directives 扩展了 HTML,AngularJS 指令是以 ng 作为前缀的 HTML 属性. ng-app 指令定义一个 Angu ...

  6. kali下的webshell工具-Weevely

    Weevely ------------------------------------------------ 主要特点: ·         隐蔽的类终端的PHP webshell ·       ...

  7. Python爬虫之12306-分析请求总概述

    python爬虫也学了一段时间了.也爬过不少网站,最后我想用12306抢票器这个项目做一个对之前的学习的效果成见也是一个目标(开始学爬虫的时候,看到说,会爬12306,就会爬80%的网站),本人纯自学 ...

  8. C++自己实现一个String类

    C++自己实现一个String类(构造函数.拷贝构造函数.析构函数和字符串赋值函数) #include <iostream> #include <cstring> using ...

  9. 014_IP专项研究监控

    一.数据demo cat /proc/net/snmp Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagr ...

  10. pwnable.tw hacknote

    产生漏洞的原因是free后chunk未置零 unsigned int sub_80487D4() { int index; // [esp+4h] [ebp-14h] char buf; // [es ...