最近要做一个selenium2的分享,于是总结了下我用selenium2的感受,希望分享出来,可以对入门的小伙伴有一点帮助,也希望得到大佬的指教
 
一,环境搭建maven+selenium2+testng
Maven管理jar包
Testng管理测试用例
Selenium通过webdriver驱动浏览器
Chromedriver下载地址:https://chromedriver.storage.googleapis.com/index.html
环境搭建的注意点
1.webdriver和浏览器版本对应
2.mac需要对webdriver授权
 
二,八大定位方式
1.id-- 唯一标识
2.name--是提交到服务器的元素的名称
3.tagName--基本很少用,tagName不唯一
4.linkText--超链接的完整文本,可能有看不出来的空格
5.partialLinkText--超链接的部分的文本
6.className -- 样式的名称,class属性中的name
7.cssSelector--定位标签方式:标签名称[属性名1 = 属性值1][属性名2 = 属性值2]--常用
8.xpath--元素页面位置信息的路径,相当于坐标--最常用
 
三,常用api
看见一篇比较全的api介绍:
详解介绍Selenium常用API的使用--Java语言(完整版)
 
四,因为元素的加载需要时间,一共有三种等待方式,硬性等待和智能等待最常用
1,硬性等待--等待时间固定,thread.sleep(2000);
2,隐性等待--全局等待,manage().timeouts().implicitlyWait(time, unit) ;
3,智能等待--针对特定元素的等待,500ms检查一次是否满足条件
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until();
 
五,操作元素报错,应该检查哪些点
检查点1:没有打开新页面
检查点2:不在ifram框中
检查点3:没有隐藏属性
检查点4:定位方式是唯一的,使用js可以查询到
解决方法:
1,添加等待
2,鼠标操作
3,js操作,如果js操作都定位不到,那就是前端写的有问题了,可以给前端提bug了
 
六,PO思想
什么是PageObject思想:就是把页面元素定位和页面元素操作分开。
通常做法是分四层:
对象库层:用于存放我们的页面元素
逻辑层:一些封装好的功能用例模块
业务层:是我们真正的测试用例的操作
数据层:用于存放我们的测试数据
 
我建议入门的时候不要生硬的套PO思想,可以就把元素的定位,操作,测试用例都写在一个类中,遇到哪些问题,就想办法去封装,慢慢的就入门了,我举几个例
 
问题
解决办法
1
每个元素的定位方式和定位的值都不一样
把元素抽象成一个类,定位方式,定位的值等是类属性
2
很多不同的元素的操作都一样,比如click
重复的操作封装到方法里
3
测试用例和测试数据在一起不好维护
测试数据和测试用例分离
 

web自动化-selenium2入门讲解(mac版本)的更多相关文章

  1. web自动化-selenium 入门篇

    selenium安装介绍 selenium是web浏览器的自动化工具 官网:https://www.selenium.dev 构成: WebDriver: 浏览器提供的浏览器api来控制浏览器(模拟用 ...

  2. Web自动化Selenium2环境配置中Selenium IDE的安装

    下载的firefox32.0的版本,但是在附件组件中只有selenuim IDE button,本以为这个就是selenium IDE插件,自以为是的后果就是把自己坑了.并且像一些selenium I ...

  3. Web自动化框架LazyUI使用手册(1)--框架简介

    作者:cryanimal QQ:164166060 web端自动化简介 web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的. 其一 ...

  4. Web自动化框架搭建——前言

    1.web测试功能特性 a.功能逻辑测试(功能测试),这一块所有系统都是一致的,比如数据的添加.删除.修改:功能测试案例设计感兴趣和有时间的话可以另外专题探讨: b.浏览器兼容性测试,更重要的是体验这 ...

  5. WEB自动化(Python+selenium)的API

    在做Web自动化过程中,汇总了Python+selenium的API相关方法,给公司里的同事做了第二次培训,分享给大家                                         ...

  6. web自动化开发环境配置详解

    1.安装 nodejs Grunt和所有grunt插件都是基于nodejs来运行的, https://nodejs.org/ 安装完成之后在终端 node -v 查看安装版本 2.安装 grunt-C ...

  7. python selenium - web自动化环境搭建

    前提: 安装python环境. 参考另一篇博文:https://www.cnblogs.com/Simple-Small/p/9179061.html web自动化:实现代码驱动浏览器进行点点点的操作 ...

  8. #001 CSS快速入门讲解

    CSS入门讲解 HTML人+CSS衣服+JS动作=>DHTML CSS: 层叠样式表 CSS2.0 和 CSS3.0 版本,目前学习CSS2, CSS3只是多了一些样式出来而已 CSS 干啥用的 ...

  9. Airtest之web自动化(一)

    Airtest之web自动化(一) [此文档有许多涉及到gif动图的地方,请全屏观看]   了解Airtest: 简介: Airtest是由网易团队开发的一款自动化框架,前期运用与游戏测试(通过截图识 ...

随机推荐

  1. Python数据分析1------数据存取

    1.CSV格式数据: 1.1普通读取和保存 可以以纯文本形式打开,可以保存多条记录,每条记录的数据之间默认用逗号来分隔,csv就是逗号分割值的英文缩写. 保存为csv文件: import pandas ...

  2. 计蒜客 第 m 大的身份证号码 (水)

    链接 : Here! 思路 : 水题 代码 : #include <cstdio> #include <string> #include <iostream> #i ...

  3. HDU 2522 A simple problem( 分数循环节 )

    链接:Here! 思路:模拟除法,当余数再次出现的时候一定是遇到了循环节( 可看下图例子 ),否则的话继续除法的步骤,直到被除数为 0 . 注意:这道题不需要重新申请一个数组来单独存放答案,如果符合要 ...

  4. idea 解决git冲突

    1.提交本地代码到本地仓库 2.啦取远程代码 不进行merge 3.冲突文件会显示   >>> head  ===== 4.删除  >>> head  ===== ...

  5. 用Js写贪吃蛇

    使用Javascript做贪吃蛇小游戏, 1.自定义地图宽高,蛇的初始速度 2.食物随机出现 3.蛇的样式属性 4.贪吃蛇玩法(吃食物,碰到边界,吃食物后加速,计分,) <!DOCTYPE ht ...

  6. Ubuntu 15.10配置OpenCV

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50635705 1 安装前准备 安装以下 ...

  7. 如何使用GUID类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. oracle schema彻底理解

    oracle中的Schema简析 在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样 ...

  9. 求最长回文子串,O(n)复杂度

    最长回文子串问题-Manacher算法 最长回文串问题是一个经典的算法题. 0. 问题定义 最长回文子串问题:给定一个字符串,求它的最长回文子串长度. 假设一个字符串正着读和反着读是一样的,那它就是回 ...

  10. Linux安装vmtools

    unbantu下,先把DVD的Vmwarew.gz,文件拷贝到tmp文件.然后 tar zxf VMware Tools-0....... ls cd ./intall.pl 有个文件,先拷贝到roo ...