TP(20170802)-Web UI自动化测试之selenium+python

自己get到的点
基础知识普及:
1.为什么要开展自动化测试 ---每天任务点点点,预留3天的时间进行回归测试和冒烟测试
UI自动化验证UI的按钮、样式、颜色
2.什么样的项目适合自动化
需求变动不频繁、项目周期长、测试人员有基本的代码能力
3.自动化测试环境的搭建 Eclipse+python
一、selenium的学习路线
(1)熟悉Webdriver API
API就是Selenium所定义的方法,用于定位、操作页面上的各种元素

元素的定位:id、name、class name、tag name、link text/partial link text 、xpath
 操作元素:输入框、下拉框、按钮点击、文件上传和下载、分页、对话框、警告框等操作方法

(2)用例组织、数据读取
(3)HTML报告、发送邮件
Python技术:列表、元组、字典、类、方法、文件读写、Unittest测试框架、HTMLRunner、邮件模板等。
二、自动化实施
UI自动化的实施,设计到两个方面需要解决
(1)页面元素定位,操作 ----Webdriver API的学习
(2)用例结果验证 ---assert ---if-else判断 ---Unittest框架
(3)Pag Obiect 设计模式
Page Obiect 是Selenium自动化测试项目开发实践的最佳设计模式之一,通过界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需调整页面元素封装的代码,提高减少用例的可维护性。

三、脚本运行
前提是安装好chrome的驱动;eclipse中装好python的环境。
以下脚本可以正常执行

#coding:utf-8
from selenium import webdriver
dr=webdriver.Chrome()
dr.maximize_window()
dr.get("http://www.baidu.com")
dr.find_element_by_id("kw").clear()
dr.find_element_by_id("kw").send_keys("简尚")
dr.find_element_by_xpath("//*[@id=\"su\"]").click()
if u"简尚_百度搜索"==dr.title:
    print('Assert test pass.')
else:
    print('Assert test fail.')
TP(20170802)-Web UI自动化测试之selenium+python_第1张图片
自动化

运行结果时:Assert test fail

TP(20170802)-Web UI自动化测试之selenium+python_第2张图片
python 运行结果

失败原因推测:Chrome 正受自动测试软件的控制
![Chrome 正受自动测试软件的控制]http://upload-images.jianshu.io/upload_images/4420802-96f2315cd356fb46.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

增加了以下语句:

options = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options) 

执行结果PASS


TP(20170802)-Web UI自动化测试之selenium+python_第3张图片
Assert test pass

你可能感兴趣的:(TP(20170802)-Web UI自动化测试之selenium+python)