现如今社会科技发展太快了,纯功能点点点已经落后别人好几条街了,所以为了让自己多点职业生涯年限,得挺起肩,傲起头。自动化测试,其本质是用代码程序测试程序,所以其实第一步应该学好编程语言,后再自己开发自动化测试工具、框架,那这就到了高级测试工程师的位置了,在这之前就要学习掌握许多的相关知识,首先我们可以先学习探索几个自动化测试工具,这篇主讲selenium

一 前言:

  1、为了要代替繁琐重复的手动回归,这时利用上自动化工具是多么妙的感觉,在市面上自动化测试工具有很多,目前最常用的就是QTP和selenium,但是更喜欢selenium,因它开源免费,可定制,多语言,还跨平台(手机、windows、mac和Linux),唯一不足就是不支持桌面应用程序,只支持浏览器

  2、什么项目适合做UI自动化:①项目周期长 ②业务流程复杂 ③项目相对来说比较稳定 ④项目基于Adobe flash的话就不适合 ⑤定制化的项目

  3、selenium三个版本:

①selenium 1版,基于JS,通过向浏览器植入JS,完成操纵网页的目的

②selenium 2版,引入webdriver,基于HTTP协议,代码相当于客户端跟selenium的服务器会开一个session,代码传给selenium的服务器,服务器把代码翻译成driver能听懂的 语言,就是一个API接口,通过driver去驱动浏览器,简单讲把浏览器原生的API封装成WebDriver API,就可以直接操作浏览器页面里的元素,所以就像真正的用户在操作一样

       ③selenium 3版,跟selenium2没多大区别,主要区别是使用Firefox时是必须下载驱动 geckodrive

二 java+selenium框架:

所需环境,搭配好jdk

下载selenium-server-standalone和各个浏览器的driver,链接:https://pan.baidu.com/s/1U8umo6dL908EUfUDu92yBg 密码:3m7s

打开eclipse,在项目里新创建一个folder,把selenium-server-standalone-3.12.0.jar包放到这文件夹里来,然后在项目上右键点击build path----configure build path...---添加jre,ok.

为了运行代码时能随时随地找到这个driver,可放到项目里文件夹里,或是把driver的目录放在环境变量path里,或放在java/bin里面去,也可以把driver放到各个浏览器目录下边来.

谷歌,火狐,IE,edge等浏览器,其中edge在做自动化时,需要新建一个用户,使用非内置用户,若是系统管理员账号的话是会报错,其他浏览器没影响。

这边开始来如何实现 打开各个浏览器

1         //把webdriver实例化,启动火狐
2         WebDriver dr=new FirefoxDriver();
3         //WebDriver dr=new ChromeDriver();
4         //WebDriver dr=new InternetExplorerDriver();
5         dr.get("https://www.baidu.com");
6         dr.close();//关掉浏览器
7         dr.quit();//退出驱动

成功打开

注意一点驱动和浏览器版本的兼容问题

嗑个selenium的API,写段代码来操作页面元素

定位页面元素优先考虑id和name,其次是xpath、LinkText,这边还是用百度网址

 1                 WebDriver dr=new ChromeDriver();
 2         //WebDriver dr=new InternetExplorerDriver();
 3         dr.get("https://www.baidu.com");
 4                 //定位到百度搜索框的元素,输入happy
 5         dr.findElement(By.id("kw")).sendKeys("happy");
 6                 //清除
 7         dr.findElement(By.id("kw")).clear();
 8                //重新输入cake
 9         dr.findElement(By.id("kw")).sendKeys("cake");
10           //dr.close();
11         //dr.quit();

三 Python+selenium框架:

Python官网下载地址:https://www.python.org/downloads/,目前最新版是3.7.0,这版本还不是太稳定,建议下载3.4-3.6版本,配置好环境变量,如下图代表安装成功了

下载安装selenium,只要在命令行输入 pip install selenium会自动安装

用Python敲一段打开浏览器

1 from selenium import webdriver
2 import time
3 #dr=webdriver.Ie()
4 dr=webdriver.chrome()
5 dr.get('http://www.baidu.com')
6 time.sleep(3)
7 dr.close()
8 dr.quit()

转载于:https://www.cnblogs.com/hearbeat/p/hearbeat.html

玩玩自动化测试之selenium篇相关推荐

  1. Web UI自动化测试之Selenium工具篇

    本文大纲截图: 一.自动化测试介绍 1.基本介绍 1.1 自动化 概念: 由机器设备代替人工自动完成指定目标的过程 优点: 1)减少人工劳动力 2)提高工作效率 3)产品规格统一标准 4)规模化(批量 ...

  2. body click js 委托_自动化测试之selenium调用JS语句

    首先,我们来了解一下selenium调用JS语句的优缺点. 优点: 1.不受页面前端显示限制.(例如有一些页面元素需要鼠标悬停在某处,或者页面比较长,需要移动内嵌拖动条) 2.可以直接修改页面的参数( ...

  3. 自动化测试之selenium介绍

    1.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.通常,在设计了测试用例并通过评审以后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较.在此 ...

  4. 【Web UI自动化测试】Web UI自动化测试之PO篇(全网最全)

    本文大纲截图: 1.PO模式基本介绍[文末免费分享自动化测试学习资源] 概念:PO是Page Object的缩写,PO模式是自动化测试项目开发实践的最佳设计模式之一. 作用:通过对界面元素的封装减少冗 ...

  5. 【书签】web自动化测试之selenium

    2019独角兽企业重金招聘Python工程师标准>>> Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作.但是手工执行的任务容易出 ...

  6. appium java类库下载_Appium移动自动化测试之Java篇

    2.新建一个java project,[File]-->[New]-->[Project],[Java Project]-->[Next],输入工程名称Appium,点击[Finis ...

  7. web自动化测试之Selenium基础 — XPath定位大全

    1.什么是 XPath? XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 包含一个标 ...

  8. 【Web UI自动化测试】Web UI自动化测试之框架篇(全网最全)

    本文大纲截图: UnitTest框架: PyTest框架: 框架: 框架英文单词 framework,为解决一类事情的功能的集合.需要按照框架的规定(套路)去书写代码. 一.UnitTest框架介绍[ ...

  9. UI自动化测试之Selenium原理详解

    Selenium简介 Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Ch ...

最新文章

  1. 字节跳动一面:i++ 是线程安全的吗?
  2. C++ ,leetcode 43. 字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式
  3. reactor线程模型_简单了解Java Netty Reactor三种线程模型
  4. [Student.Achieve] 学生教务管理系统开源
  5. java 方法注解_使用Java注解不正确的方法
  6. api中重载函数的原理_小心重载API方法
  7. ciaodvd数据集的简单介绍_COCO数据集的简单介绍
  8. mysql不带加密模式jar包_Spring boot jar包加密(防止放在客户端反编译)
  9. scrollIntoView()窗口滚动
  10. 《Java程序员职场全功略:从小工到专家》连载三:IT语言平台
  11. macOS应用程序打开时出现崩溃的情况,怎样处理?
  12. 用matlab算配筋,[配筋计算]连梁的配筋计算 - 土木在线
  13. appStore苹果退款通知
  14. 微信公共平台 首次关注 自动回复消息
  15. Gif动图如何裁剪?收下这个图片在线裁剪工具
  16. 微信公众平台开发的相关问题
  17. 商人过河c语言编程,商人过河问题C语言源码.c
  18. 小米面试offer加油
  19. awvs安装及问题解决
  20. Spring框架及其特点

热门文章

  1. “7th-place-solution-microsoft-malware-prediction”——kaggle微软恶意代码检测比赛第七名代码
  2. 逆向工具之IDA的使用
  3. Java8新特性 Optional类
  4. springboot学习笔记(二)
  5. tar解压出错:gzip: stdin: unexpected end of file的解决
  6. 2017-9-17pat甲级 A
  7. 大数的相加 乘 余 幂
  8. 深入了解以太坊虚拟机第2部分——固定长度数据类型的表示方法
  9. Android后台杀死系列之三:LowMemoryKiller原理(4.3-6.0)
  10. ARM64的启动过程之(四):打开MMU