现如今社会科技发展太快了,纯功能点点点已经落后别人好几条街了,所以为了让自己多点职业生涯年限,得挺起肩,傲起头。自动化测试,其本质是用代码程序测试程序,所以其实第一步应该学好编程语言,后再自己开发自动化测试工具、框架,那这就到了高级测试工程师的位置了,在这之前就要学习掌握许多的相关知识,首先我们可以先学习探索几个自动化测试工具,这篇主讲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在做自动化时,需要新建一个用户,使用非内置用户,若是系统管理员账号的话是会报错,其他浏览器没影响。

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

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

成功打开

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

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

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

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

三 Python+selenium框架:

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

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

用Python敲一段打开浏览器

 from selenium import webdriver
import time
#dr=webdriver.Ie()
dr=webdriver.chrome()
dr.get('http://www.baidu.com')
time.sleep(3)
dr.close()
dr.quit()

玩玩自动化测试之selenium篇的更多相关文章

  1. 自动化测试之Selenium篇(一):环境搭建

    当前无论找工作或者是实际项目应用,自动化测试扮演着非常重要的角色,今天我们来学习下Selenium的环境搭建 Selenium简述 Selenium是一个强大的开源Web功能测试工具系列 可进行读入测 ...

  2. Appium移动自动化测试之Java篇

    1.环境准备:创建模拟器请参考:http://www.cnblogs.com/mrjade/p/5803131.html 2.新建一个java project,[File]-->[New]--& ...

  3. Selenium自动化测试之Selenium IDE

    简介 Selenium IDE 是实现Web自动化的一种便捷工具,本质上它是一种浏览器插件.该插件支持Chrome和Firefox浏览器,拥有录制.编写及回放操作等功能,能够快速实现Web的自动化测试 ...

  4. Python自动化测试之selenium从入门到精通

    1. 安装selenium 首先确保python安装成功,输入python -V 在windows下使用pip安装selenium,详情如图所示: 在ubuntu下使用pip install sele ...

  5. 自动化测试之selenium工具简单介绍

    一.selenium简单介绍 1.selenium的成员 2.selenium工作原理 二.webdrive 常见元素定位

  6. Windows下Python3+nose+appium自动化测试之Android篇

    [本文出自天外归云的博客园] 简介 以下用来做自动化测试的这款app叫最爱抓娃娃,以后会改名为网易抓娃娃. 下文提到的appiumier项目里会包含用来测试的apk包以及自动化测试代码. 先说一个坑 ...

  7. selenium自动化测试之整合测试报告

    selenium自动化测试之整合测试报告 标签(空格分隔): 整合报告 如下截图我们添加一个文件叫做:latest_report.py文件, import time import os import ...

  8. Selenium自动化测试之结果处理

    Selenium自动化测试之结果处理 一.断言 断言相当于性能测试中的检查点,常用断言种类很多,具体可以查看断言API:判断预期结果和实际结果是否一致,断言成功,程序继续处理,失败则终止运行,示例如下 ...

  9. Selenium自动化测试之数据驱动及用例管理

    Selenium自动化测试之数据驱动及用例管理 一.TestNg注解介绍 @Test:表示一个测试方法,在运行测试用例过程中,会自动运行@Test注解的方法. 例:

随机推荐

  1. 用jquery写的json省市县三级联动下拉

    <form action="#" name="myform"> <label>省</label><select nam ...

  2. 二.Mybatis 增删改查

    Student.java package com.pojo; import java.util.Date; public class Student { int stuid; String stuNa ...

  3. java实现按拼音排序

    List<WaPayFileVO> list =(List<WaPayFileVO>) dao.execQueryBeanList(pagesql, params.toArra ...

  4. normal 普通身份 sysdba 系统管理员身份 sysoper 系统操作员身份 dba和sysdba

    as sysdba 就是以sysdba登录,oracle登录身份有三种:normal 普通身份sysdba 系统管理员身份sysoper 系统操作员身份每种身份对应不同的权限 sysdba权限:●启动 ...

  5. 菜鸟笔记 -- Chapter 09 常见类和接口

    Java为我们提供了丰富的jar包支持,这其中很多都是我们日常开发所必须的,了解这些包和类,十分有助于我们的开发,深度了解源代码也有助于我们代码的优化和提高;JDK1.8为我们提供了多于4000个类与 ...

  6. SQL3120W 不能将xx的字段值转换成 INTEGER值

    一次用DB2 Load/Import导入数据时,报错,提示SQL3120W 不能将xx的字段值转换成 INTEGER值,但目标列不可为空.未装入该行. 目标表: CREATE TABLE TEST( ...

  7. 小程序登录 -41003: aes 小程序加密数据解密失败问题

    在微信小程的开发中,登录问题,一定要按照这样的顺序 1. 小程序请求login,拿到code 然后传给服务端:  2.服务端拿到code 到微信服务器拿到sessionKey :3.然后小程序调用ge ...

  8. MySql学习笔记06

    课程回顾 一对一关联 案例1:查询每个员工的名字和主管领导的名字 select e.ename 员工姓名,m.ename 领导姓名 from emp e join emp m on e.mgr=m.e ...

  9. CacheCloud+Redis Cluster 3部署

    CacheCloud环境需求 Java 7 Maven 3 MySQL Redis 3 具体用法可参考:https://cachecloud.github.io 1.下载CacheCloud 官网ht ...

  10. loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上

    前言: 当我们已经开发好相应的模块或者功能的时候,需要将这个功能部署在index主页上作为可点击直接使用的模块,而不是每次需要去浏览对应的url地址. 这时候就需要运用到L5的BSP. 作为刚刚入门l ...