Selenium+Python—实现基本自动化测试

时间:2022-10-09 17:30:10 | 浏览:1154

什么是seleniumSelenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命令来模拟用户操作,可以将这些命令转化成实际的请求在浏览器中运行的命名比较有意思,当时是主流的商业自化工具,是化学元素汞(俗称水银),而

什么是selenium

Selenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命令来模拟用户操作,可以将这些命令转化成实际的请求在浏览器中运行的命名比较有意思,当时是主流的商业自化工具,是化学元素汞(俗称水银),而是开源自动化工具,是化学元素硒,硒可以对抗汞。

selenium家族族谱

从2004年至今,selenium经历了3个版本,即Selenium1.0,Selenium2.0,Selenium3.0

2.1Selenium1.0

简单的公式:

Selenium1.0=SeleniumIDE+SeleniumGrid+SeleniumRC

SeleniumIDE:是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。

SeleniumGrid:selenium分布式

SeleniumRC:Selenium1.0的核心,SeleniumRC支持多种不同语言编写的自动化测试脚本,在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese命令(selenese是selenium命令集合)。通过SeleniumRC的服务器作为代理服务器去访问应用,从而达到测试的目的。

2.2Selenium2.0

Selenium2.0=Selenium1.0+WebDriver

Selenium2.0的核心为WebDriver,Drver的工作原理是:


WebDriver是通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver针对各个浏览器而开发,除了Firefox浏览器之外,使用其他浏览器都需要浏览器驱动,与浏览器紧密集成,因此支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持之外,WebDriver还利用操作系统级的调用,模拟用户输入。

我们在使用WebDriver时,可以看到,是先启动了浏览器driver,通过浏览器driver启动浏览器

2.3Selenium3.0

selenium3.0在2.0的基础上增加了对win10系统的Edge浏览器和Mac系统Safari浏览器的支持,并且在启动Firefox浏览器时也必须使用浏览器驱动geckodriver.去掉了SeleniumRC,因此selenium3.0的学习核心也是WebDriver.

3.Selenium学习路线---从元素定位开始

需要熟悉webdriverAPI,API就是selenium所定义一方法,用于定位,操作页面上的各种元素。

Selenium下载安装以(Python)为例

下载安装

安装

验证

C:Usersmac>python

Python3.7.0(v3.7.0:1bf9cc5093,Jun272018,04:59:51)[MSCv.191464bit(AMD

4)]onwin32

Type"help","copyright","credits"or"license"formoreinformation. >>>

2.安装selenium

pipinstallselenium

3.验证是否安装成功:

pipshowselenium

能够看到selenium的详细信息则安装成功

Name:selenium

Version:3.13.0

Summary:PythonbindingsforSelenium

Home-page:https://github.com/SeleniumHQ/selenium/

Author:UNKNOWN

Author-email:UNKNOWN

License:Apache2.0

Location:/usr/local/lib/python2.7/site-packages

Requires:

Required-by:

Selenium元素定位

什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片。都可以理解成元素,这些都是由html代码构成。

Selenium常用的八种元素定位方法

1.通过id定位:

find_element_by_id()

2.通过name定位:

find_element_by_name()

3.通过tag定位:

find_element_by_tag_name()

4.通过class定位:

find_element_by_class_name()

5.通过css定位:

find_element_by_css_selector()

6.通过link定位:

find_element_by_link_text()

7.通过partial_link定位:

find_element_by_partial_link_text()

8.通过xpath定位:

find_element_by_xpath()

如何查找8大定位因素

下面以Firefox浏览器里面定位百度搜索为例

1.id 、name、class、link_text 定位

首先打开网页开发者模式,接着点击元素定位按钮,然后将光标置于你要定位的元素,点击一下,就可以在查看器查看你想要定位的元素的id、name、class、link_text。

eg:

driver.find_element_by_id(“kw”)

driver.find_element_by_name(“wd”)

driver.find_element_by_class_name(“s_ipt”)


driver.find_element_by_link_text(“百度一下”)

2.xpath、css_selector定位

首先打开网页开发者模式,接着点击元素定位按钮,然后将光标置于你要定位的元素,点击一下然后右键复制,就能选择xpath、css

3.tag_name定位

如图,画圈的就是tagname。

由于tagname有很多重复的,tagname来定位页面元素不准确,所以很少使用tagname来定位。

相关资讯

PHP8.1性能基准测试

出品|开源中国作者|白开水PHP 8.1 已于上周正式发布,科技媒体 Phoronix 紧随其后发布了针对 PHP 8.1 的性能基准测试报告。此次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器上进行的。所有

PHP、Java、Python、C、C++这几种编程语言都有什么特点或优点?

一、强类型和弱类型语言:C、 C++、 Java 、Python都是强类型的语言。PHP是弱类型的语言。强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义

铁打的Python连续3年第一,PHP跌出前十:IEEE编程语言排行榜出炉

乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAIPython势头不减,依旧第一,而且进一步拉开了与其他语言的差距。这一结果,来自IEEE Spectrum2019年度编程语言排行榜。这已经是Python连续3年保持第一。在Pyth

C、C++、Java、JavaScript、PHP、Python分别用来开发什么?

首先,我们先普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。

11月编程语言榜已出!Python蝉联榜首,PHP将跌出前十

全球知名TIOBE 编程语言社区发布了11 月编程语言排行榜。下面让我们一起来看看,本月榜单中有哪些值得注意的新变化吧!01PHP即将跌出前十自 20 多年前 TIOBE 指数开始发布以来,PHP 一直常驻在榜单前十,然而最近,该语言已经开

PHP、Ruby、Python:三种编程语言谁最强?

【51CTO.com快译】在本文中,我们将逐一介绍目前人气较高的三种编程语言:PHP、Ruby和Python。我们将分析它们是如何工作的,它们彼此有何不同,谁在使用它们,以及每种语言受欢迎的程度。一、 PHP:互联网上最受欢迎的脚本语言PH

TIOBE11月编程语言排行:Python超越C语言成第一!PHP将掉前十?

TIOBE 编程社区指数是编程语言流行程度的指标。该指数每月更新一次。评级基于全球熟练工程师、课程和第三方供应商的数量。谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度等流行搜索引擎用于计算评分。需要注意的是,TIOBE 指数与最

零基础选择Java、PHP、Python还是前端培训好呢?

IT行业现在依然是求职转行人群的首选,那么当下的IT培训机构中IT技术课程类目繁多,尤其是Java培训,PHP培训,Python培训以及前端培训最火,零基础人员如何选择一种适合自己的编程开发语言课程去学习入行呢?前三者属于后端的开发语言,我

近视也分真假?在家做一个小测试轻松辨别是不是真近视!

戴眼镜的朋友,尤其是刚开始戴眼镜的儿童和青少年常常被人问到:“你是真性近视还是假性近视”?很多人可能疑惑了什么是真性近视,什么是假性近视呢?不知道该怎么去回答。区分假性近视与真性近视其实假性近视是指长时间不科学地用眼,眼睛长时间缺乏营养还有

测一测|快来测试看看,你的视力如何?

通过了这几张图的“考验”,才敢说自己有一双好眼睛,快转给小伙伴们一起自我检测吧!图片来源:人民网长按二维码,识别即可关注“江苏新闻”公众号

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈林肯汽车网洛阳新闻资讯网韶关新闻资讯网苹果手机评测网生肖鸡运势网今日保定美津浓球杆自行车之家美利达自行车美腾科技股票元阳梯田游玩攻略北京房产信息网爱马仕奢侈品孕婴世界母婴韦尔股份A股
python编程教学网-python数据库开发教程、python基础知识入门、python数据库编程入门、python语法基础、python下载安装教程、python下载手机版、python翻译器下载手机版、python翻译器代码、python语言翻译、python基础代码、python编程自学网。
python编程教学网 dadeji.cn ©2022-2028版权所有