本文来讲一下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. 在Ubuntu/CentOS/Debian系统下,使用CPU挖Monero (XMR)币

    CentOS7(增加源) yum repolist # 查看yum源列表 yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/ ...

  2. springMVC2

    一.视图解析流程 springMVC中视图解析器 1.视图最终的页面渲染.view视图来做,render 2.跳转到目标视图,请求转发. 3.遍历视图解析器,逻辑视图转换为物理视图. 1)视图 视图的 ...

  3. python装饰器的wraps作用

    不加: from functools import wraps def my_decorator(func): def wper(*args, **kwargs): '''decorator''' p ...

  4. Balanced Number HDU - 3709

    题目大意:若一个数以某个位置为支点,支点左右的加权和相同,这样的数被称为平衡数,求区间内平衡数的个数 思路:枚举支点位置,针对每个支点进行数位DP,但是0比较特殊,假设该数的长度为len,枚举len次 ...

  5. Java 多线程 - Synchronized关键字

    目录 1-Synchronized 关键字概述 2- Synchronized关键字作用域 3- Synchronized 原理(反编译指令解释) 正文 1-Synchronized 关键字概述 由于 ...

  6. 24 Game

    You have 4 cards each containing a number from 1 to 9. You need to judge whether they could operated ...

  7. 如何用java实现一个p2p种子搜索(4)-种子获取

    种子获取 在上一篇中我们已经可以获取到dht网络中的infohash了,所以我们只需要通过infohash来获取到种子,最后获取种子里面的文件名,然后和获取到的infohash建立对应关系,那么我们的 ...

  8. [MySQL]如何支持utf8格式的UCS4unicode字符

    filed中必须是CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci: 连接时必须set names "utf8mb4": 这是一段P ...

  9. I - Beautiful People ZOJ - 2319 (二分法)

    The most prestigious sports club in one city has exactly N members. Each of its members is strong an ...

  10. 利用 v-html 将后台数据中的换行符在页面输出

    在拿到后台传入的数据时:有些换行符,空格等会直接输出在页面   (/n .<br/> 等) 用  v-html 来解决: <div v-html="message" ...