2、Selenium + Python 实现 UI 自动化测试-第一个自动化测试脚本

作者新建了QQ群:460430320,供大家交流测试心得(培训机构勿进)。另外,还会不定期上传测试资料,也欢迎您共享测试资料。

一、境界不到,所以不谈自动化测试的目标、不谈自动化测试的投入产出比、不谈适用场景,不谈什么优缺点,尽量少谈一些理论的东西,除非这对你理解实战有帮助。

 

二、自动化测试实施过程

(刚写完不谈理论,就开始理论,但请相信我,这只是铺垫)

基本可以概括为:

1、定位元素,将其存储起来;

2、对该元素进行操作;

3、对比操作的结果和预期结果是否一致;

 

三、Selenium 2 的原理

(能少说绝不多说,对于Selenium 1 绝口不提)

原理:直接利用浏览器的内部接口来操作浏览器,对于不同平台不同浏览器,必须依赖浏览器内部的Native Component(原生组件)来实现把WebDriver API调用转化为浏览器内部接口的调用。

这也是为什么我们需要针对不同的浏览器下载不同版本的webdriver的原因。可以说Selenium 的灵魂就是Webdriver。

 

四、自动化测试辅助工具

1、Chrome 的 Web Developer 插件

简单放张图,具体如何使用,我们放在前端知识处讲解

 

2、Firefox 的 Firebug、Firepath 插件

 

 

五、第一个自动化测试脚本

1、想想自动化实施过程:定位元素 -> 操作元素 -> 对比预期结果

2、脚本如下,加了注释

#导入webdriver包
from selenium import webdriver
from time import sleep

#实例化一个driver
driver = webdriver.Chrome()
#打开百度,注意前面的http://不能省略
driver.get("http://www.baidu.com")
#定位百度搜索框
myinput = driver.find_element_by_id('kw')
#对其进行操作,输入“storm啊”
myinput.send_keys("storm啊")
#
sleep(2)
#储存测试结果
res = driver.find_element_by_id('kw').get_attribute("value")
#将测试结果和预期结果对比,成功打印pass,否则打印fail
if res == "storm啊":
    print('pass')
else:
    print('fail')
#释放浏览器,关闭浏览器
driver.quit()

 

六、多说两句

1、上面的代码不了解没关系,只是一个展示,让大家体验一下浏览器自己跑的快感。

2、Python 3 的好处,大部分情况下你不必再纠结中文的编码问题(统一utf-8了)。

3、请不要直接复制、粘贴代码,一个个字敲会遇到很多问题(早遇到问题比晚遇到问题要幸运的多,人生也是这样)。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页