如何写好Python+Selenium自动化?

哈喽,各位客官好,今天我给大家讲讲如何使用Python+Selenium做自动化测试,楼主在做开发测试之前做得java开发,由于种种原因,楼主转成了开发测试,接着又自学了脚本语言linux和python,对于这两门脚本,我是非常的喜欢,为什么呢,因为用起来效率太高了,所以楼主弃java转python,至于为什么,不做多解释,你懂得。接下来我将给各位讲讲如何用python+selenium自动化

1,什么是selenium

selenium是一个开源的自动化测试框架,主要适用WEB测试,可以支持多种语言(Java, C#, Python,php等),既然支持多语言开发,那跨平台自然就不用多说啦,selenium有几个版本,一个是selenium IDE(是一个安装在火狐浏览器上的一个插件,可以用来录制脚本,然后导出自动生成对应的开发语言文件),selenium Grid(自动化辅助工具,楼主还没深入研究), seleniun RC(一个远程控制访问从而达到测试目的,有server端和client端),以上是我总结的,具体的定义,各位可以去官网看看,此处不做多解释,我们只需知道它是什么就够了。

2,selenium如何工作

关于selenium如何工作,也是很多小伙伴想知道的,selenium有一个驱动叫webdriver,这是selenium的核心,支持多种浏览器(Firefox, Chrome, Safiri, IE等),Chrome,IE使用时需要额外对应浏览的webdriver驱动器(Iedriver.exe, chromedirver.exe),以下是一个简单的实例:

 1 # coding:utf-8
 2
 3 from selenium import webdriver #导入selenium
 4 import time
 5
 6 browser = webdriver.Chrome(r‘C:\Python27\chromedriver.exe‘) #加载chrome驱动,创建一个对象
 7
 8 browser.get(‘http://www.baidu.com‘) #获取需要测试Web的地址
 9
10 browser.maximize_window()#窗口最大化
11
12 browser.find_element_by_id(‘kw‘).send_keys(‘selenium‘)  #获取网页中的元素
13
14 browser.find_element_by_id(‘su‘).click()
15
16 time.sleep(3)
17
18 browser.quit()#关闭驱动对象

看了上面的代码,我们可以知道,selenium主要工作方式是抓取网页中的元素,然后进行相应的赋值,事件等,selenium有多种获取元素的方法,有获取id,name,css,xpath等

3,selenium如何跟python一起使用

我们使用selenium+python肯定不是我们写的以上那么简单的几行代码,在正常的自动化中,为了便于管理维护脚本,一般会使用合适的框架来提高代码的质量和维护成本,关于框架主要有uinittest(python自带的单元测试框架),HTMLTestRunner(主要用户生成测试报告和结果,详细使用各位可以去查阅相关文档),smtplib(邮件包,只要是能将测试结果以邮件的形式发送给pm),除了测试框架,还有关于代码分离,复用等,这一部分不做多详述,主要是环境搭建和架构的东西,下一次有时间再做详细解释。

此篇内容没有什么多大价值,主要是让大家了解selenium跟python自动化的初述,纯属片面之谈,不足之处请下方留言,谢谢!

((文章原创,转载时请注明出处,谢谢!))

时间: 2024-12-28 23:04:31

如何写好Python+Selenium自动化?的相关文章

python + selenium自动化环境常见问题小结

python + selenium自动化环境常见问题小结 (1)操作Windows窗口有三种方法,一是使用AutoIT软件生成exe程序,再用系统命令调用:二是使用SendKeys类模拟键盘操作(只能定位当前的焦点):三是使用pywinauto组件(win32gui) (2)pywinauto包只支持到python2.6版本.SendKeys包在python3.0版本上也无法安装成功. (3)执行完用例进行断言校验时,一般会获取元素的text属性,有时候在页面上查看元素有text值,而获取的为空

Python+selenium自动化公共逻辑步骤封装

开篇 个人博客"Python+selenium的GUI自动化实现"提到的chrome与IE浏览器调用插件已上传至51CTO下载,对应链接分别为:chrome,http://down.51cto.com/data/2171584:IE,http://down.51cto.com/data/2171585:有需要的直接下载即可:  正文 关于自动化,其实质就是用机器操作代替手工执行,从而减少人力投入.节约项目运营成功.优秀的自动化框架,可能的一个发展过程,前期自动化用例写作实现过程,可能需

python+selenium自动化环境搭建之后,能打开firefox,却不能执行自动化操作

python+selenium自动化环境搭建之后,选择执行,能够打开firefox,但是却不能继续执行后续操作.原因是selenium的版本与firefox的版本不兼容. 解决办法: 1.将firefox降到与selenium相对应的版本.例如我使用selenium版本是3.3.3,那我对应的firefox版本是52.0.2,如果firefox继续升级,也会出现不兼容的情况.建议可以在firefox的工具--选项--高级中设置为不检查更新,以免软件自动更新出现问题. 2.安装该浏览器版本对应的g

Python+Selenium自动化模拟用户登录(备注:记录一次强行卸载rpm依赖包,引发的rpm、yum等命令异常,无法远程xftp工具)

近期在摸索Python+Selenium自动化,实现模拟用户登录搜索等操作,反馈相关日志,再交由Zabbix分析,监控页面访问是否正常. 期间需要对Linux火狐浏览器进行升级,由于生产环境为内网环境,无法使用yum进行升级.本想在外网环境下使用Docker进行安装,然后打成镜像后迁移到内网环境.但由于系统为Red Hat 6.4对Docker支持较差,故在外网将相关依赖包下载后进行安装. 外网环境下,下载Firefox及相关依赖组件相关操作.         1.更新本地yum源为阿里yum源

python+selenium自动化环境配置及使用实例

一.搭建环境相关地址以及相关模块下载地址 1.#各个浏览器驱动下载地址: https://www.cnblogs.com/nancyzhu/p/8589764.html 2.#sublime+python+selenium自动化配置教程: http://python.tedu.cn/know/289803.html 3.#html测试报告: https://github.com/defnngj/HTMLTestRunner         http://www.testpub.cn/t/213

python selenium自动化屏蔽chrome“正受到自动化测试软件的控制”、“开发者模式”、“保存密码提示”

python selenium自动化屏蔽chrome“正受到自动化测试软件的控制”.“开发者模式”.“保存密码提示” from selenium import webdriver option = webdriver.ChromeOptions() #屏蔽自动化受控提示 && 开发者提示 option.add_experimental_option("excludeSwitches", ['enable-automation', 'load-extension']) #

Python +selenium自动化环境的搭建

Python +selenium+googledriver 小白的血泪安装使,不停的总结写心得是理解透彻的毕竟之路 一,python的安装: 首先去Python的官网下载安装包:https://www.python.org/ 2.下载完成后如下图所示 3.双击exe文件进行安装,如下图,并按照圈中区域进行设置,切记要勾选打钩的框,然后再点击Customize installation进入到下一步: 4.对于上图中,可以通过Browse进行自定义安装路径,也可以直接点击Install进行安装,点击

python+selenium自动化软件测试(第13章):selenium面试题

前言最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下 一.selenium中如何判断元素是否存在?expected_conditions模块提供了16种判断方法,以下方法是判断元素存在DOM中:presence_of_element_located    """ An expectation for checking that an element is present on the DOM of a page. This does n

python+selenium自动化软件测试(第10章):测试驱动TDD

测试驱动开发模式,要求开发在写业务代码的时候,先写出测试代码,同时单元测试例子决定了如何来写产品的代码,并且不断的成功的执行编写的所有的单元测试例子,不断的完善单元测试例子进而完善产品代码, 这样随着功能的开发完成,测试代码也会对应的完成, 很显然,这是一个全新的开发模式, 在一定程度上,可以完全的提高软件的质量,以及开发可以对自己写的代码进行一个全面的评估和测试. TDD 模式是一个很大的概念,在这里, 我重点介绍下测试驱动模式与自动化的融合以及精简自动化的测试代码.下面我们来看一个登录的案例