selenium自动化基础知识

什么是自动化测试?

自动化测试分为:功能自动化和性能自动化

功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力。同时,如果系统有不份模块更改后,只要通过修改部分代码的方式来覆盖这部分修改的内容,大大提高测试效率。但是后期代码维护需要一定的成本,如果系统属于表单比较多或者经常修改改动的系统不太适合使用自动化,因为这个维护成本太高;针对于一些相对比较成熟(改动不是很频繁)的系统和跑回归测试的系统很适合进行自动化测试。

性能自动化即使用性能测试工具(常用的收费软件有LoadRunner、QTP,开源的有Jmeter)模拟成千上万的用户向系统发送请求,来取得系统性能峰值与瓶颈,但是性能测试的重点并不是在工具的使用上面,而是对工具产生的各种性能报表的性能分析上。需要完成一个完整的性能分析,你需要了解很多知识(计算机组成原理、操作系统、数据库原理、计算机网络原理、应用服务器【tomcat】、web server【apache】等)。

几乎每个项目都会用到性能测试,但是并不是所有的项目都适合自动化测试;然而性能测试需要更强的基础知识功底,对于半路出家的测试来说有很大难度;对于以后的发展方向都有利有弊吧。

为什么要进行UI自动化测试?

从图中我们可以看出各阶段测试的投入产出比,我们可以看到单元测试的收益是最高的,因为它直接对源代码进行测试,对某一个if判断或者一个for循环进行测试,所以收益最高,但是单元测试适不适合测试人员来做呢?答案是不一定适合,因为对于代码当然是开发者自身最熟悉自己开发的代码了,如果交给测试人员来测的话,测试人员还得清楚开发者的设计思路,对整个流程的代码通读,效率相对低下,所以单元测试在90%以上的公司都是有开发自己完成。

集成/接口测试相对收益率还是可以的,主要完成的是对各个类、接口的测试,对某个类中的add()方法,传入适当的参数,测试返回结果的正确性。

UI自动化测试的收益最低,那为什么还要进行UI自动化的测试呢,因为最终用户的操作是在UI层,所以大量的测试劳动力都会集中在UI层进行测试;而且,后期的回归测试是相当需要多劳动力进行不断的重复测试的,所以自动化测试就提现出了他的优势了。

什么是selenium?

Selenium是一款web应用的自动化测试工具,主要用于UI测试;

它的特点有如下几点:

1.支持多语言:java,python,ruby,PHP

2.多浏览器支持:IE、Chrome、Mozila-FireFox

3.开源,免费

4.多平台支持:windows、MAC、Linux

Selenium组成?

Selenium有两个版本selenium1.0和selenium2.0,现在普遍使用2.0,2.0支持的功能多。

看下selenium1.0的组成构架:

Selenium IDE是一个firefox中的一个插件,用于录制浏览器的操作,进而生成脚本的一款便于初学者使用的工具。局限性是其录制的脚本不能直接使用,代码很多的地方需要完善修改。主要是给初学者一个UI自动化的一个认识过程,实际作用不大。

Selenium Grid是一个辅助测试的工具,实现的功能是在多台测试机器上统一执行测试用例。(暂时没有用到)

Selenium RC是selenium中的核心部件,用于执行测试脚本进而对浏览器进行操作。RC由两个部件组成:Client Libraries和Selenium Server;

Client Libraries中保存的是测试脚本

Selenium Server中使用Launcher来启动和关闭浏览器;在启动浏览器后selenium core被部署到web应用中,core实际上是一个JS函数库,selenium就是通过这些JS函数对浏览器进行操作。

Selenium2.0 = selenium1.0 + webdriver

2.0相比较于1.0的区别是,2.0的selenium使用webdriver来取代了selenium RC的实现方法;

他们的区别是什么:

Selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行selenese 命令(selenese 是 Selenium 命令集合)。

2.0的WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。Webdriver支持的页面操作更多,而且API更简介,易懂。

Selenium学习前知识储备及预装工具

学习selenium需要哪些知识支撑呢?

前端的知识:

HTML--->具体了解下HTML的各个标签的含义都是什么;

JavaScript--->了解JS的基础语法

XML--->了解配置文件

CSS--->可以了解一下,后面使用css定位可能会用到点

工具准备:

FireBug是一款Firefox的插件,它集 HTML查看和编辑、Javascript 控制台、网络状况监视器、cookie 查看于一体,是开发 JavaScript、CSS、HTML和 Ajax 的得力助手。

与FireBug配对使用的是FirePath,当通过 FireBug 的鼠标箭头选择一个页面元素后,FirePath 输入框将给出 XPath 的表达式,快速的帮我们定位。

JAVA--->根据自己使用的开发语言进行选择

Eclipse--->脚本标记IDE工具,现在流行的是intellij idea

Selenium jar包--->推荐版本:2.53.0

Ant--->构建工具(或者使用maven)

Jenkins--->持续集成工具

最后两个工具一般使用在敏捷开发的项目中,需要持续集成的自动化测试,暂时用不到。

时间: 2024-10-27 03:50:15

selenium自动化基础知识的相关文章

selenium 自动化基础知识(各种定位)

元素的定位 webdriver 提供了一很多对象定位方法  例如: [ id ] , name , class name , link text , partial link text , tag name, xpath , css selector 例如:下图 # -*- coding: utf-8 -*- # 通过id方式定位 browser.find_element_by_id("kw").send_keys("selenium") # 通过name方式定位

selenium入门基础知识

内容转载自:http://blog.csdn.net/huangbowen521/article/details/7816538 1.selenium介绍: Selenium是一个浏览器自动化操作框架.Selenium主要由三种工具组成.第一个工具SeleniumIDE,是Firefox的扩展插件,支持用户录制和回访测试.录制/回访模式存在局限性,对许多用户来说并不适合,因此第二个工具——Selenium WebDriver提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应

前端自动化基础知识

这一部分用的不多,还都属于理论知识. package.json:后端的配置文件,有dependencies和devdependencies两个属性:bower.json:前端的配置文件.也可由后端修改,所以希望package一起配置了. bower-concat:连接第三方的js,css css_min:处理自己写的css .bower改插件的安装路径,默认为build 阮一峰: gruntfile.js中加载模块很多时,会出现package.json与gruntfile.js中的同步问题.解决

python与selenium自动化基础-鼠标和键盘事件

二.鼠标和键盘模拟用户行为 ①导入 ActionChains:from selenium.webdriver.common.action_chains import ActionChains ②用于生成模拟用户行为:ActionChains(driver) ③执行存储行为:perform() ④例:ele=driver.find_element_by_link_text(arg) ActionChains(driver).move_to_element(ele).perform() 二.多窗口切

Selenium系列(十四) - Web UI 自动化基础实战(1)

如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈...) 注意,目前的实战都是流水账式写的,后面才会结合框架+PO模式 目的是为了掌握所学的Selenium基础 实战题目 访问:https://m.weibo.cn/ 点击:大家都在搜 点击:微博热搜榜

Selenium系列(十五) - Web UI 自动化基础实战(2)

如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识,需要自己去补充哦,博主暂时没有总结(虽然我也会,所以我学selenium就不用复习前端了哈哈哈...) 注意,目前的实战都是流水账式写的,后面才会结合框架+PO模式 目的是为了掌握所学的Selenium基础 实战题目 访问:https://www.toutiao.com/ 获取到下图所有黑框里的内容

linux云自动化运维基础知识11(ip网络 )

####1.ip基础知识####1.ipv42进制32位-----10进制 172.25.0.10/255.255.255.0172.25.0.10:ip地址255.255.255.0:子网掩码子网掩码255位对应的ip位为网络位子网掩码0对应的ip位为主机位 ####2.配置ip####<<图形化>>1.图形界面nm-connection-editor 2.文本化图形nmtui <<命令>>ifconfig 网卡 ip netmask    ##临时设定

selenium基础知识1

一.元素的8种定位  (以百度为例) #导入所需要的包 from selenium import webdriver dr = webdriver.Chrome() dr.get("https://www.baidu.com/") 1.通过id定位 dr.find_element_by_id("kw").send_keys("selenium自动化") 2.通过name定位 dr.find_element_by_name(""

android金阳光自动化测试——学习历程:自动化预备知识上&amp;&amp;下

章节:自动化基础篇——自动化预备知识上&&下 网易云课堂: 上:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877113&courseId=712011 下:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877114&courseId=71