找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

# 第11讲 python ui 自动化

[复制链接]


# 6、面试题:
# ui自动化测试和功能测试那个更要
# 都重要
# 功能测试是基础,只有功能没有问题了才可以做自动化
# ui 自动化可以减少人力 提高效率 更加完善

# 一、ui自动化测试理论
# 1、什么是ui自动化
# 原本用手工操作用户ui页面的方式,用代码去实现操作或者验证的动作

# 2、ui 自动化优点
# 1)解决重复性功能测试和验证
# 2)减少回归测试的人力,时间成本,提高效率
# 3)减少回归测试在测试时用例漏测的情况

# 3、什么样的项目适合左ui自动化
# 1)需要比较稳定,需求变更不频繁
# 2)项目周期比较长
# 3)ui 空间和页面元素不能变更

# 4、ui自动化场景和作用
# 用来做归回测试
# 注册--登录--加入购物车--下单==》功能测试好了==回归测试可以用自动化

# 5、ui自动化的覆盖率(用例400,自动化80条主流程的用例)
# 1)用例覆盖率:占当前本版的20-30%
# 2)场景覆盖率:占当前本版功能的70%-80%

# 6、面试题:
# ui自动化测试和功能测试那个更要
# 都重要
# 功能测试是基础,只有功能没有问题了才可以做自动化
# ui 自动化可以减少人力 提高效率 更加完善

# 7、目前市场比较主流的自动化工具
# 1)python +selenium
# 2)java +selenium
# 3)robotframework +selenium2library

# 8、自动化测试框架
# python + selenium +unittest +po 分层

# 9、selenium 安装
# 1)win +r  输入cmd
# 2)进入python安装路径 cd C:\Python37\Scripts
# 3)
# pip install selenium==3.141.0  (可能报错)
# 提示需要执行这个:python -m pip --upgrade pip  执行完之后再执行
# pip install selenium==3.141.0   【注意】

# 10、selenium 相关了解
# 1)在dos 窗口下 pip list   ==》查看安装的库
# 2)安装的第三方库存放再哪里   C:\Python37\Lib\site-packages

# 11、selenium 原理
# 1)selenium 库中有一个webdriver包,webdriver包中有一个chrome包
# 2)C:\Python37\Lib\site-packages\selenium\webdriver\chrome
# 3)chromedriver.exe==》驱动,把这个文件放到  C:\Python37\Scripts 路径下

# 12、selenium 中定位元素方法
# 1)id 定位法
# 例子:把元素看成一个人,id就是身份证
# id 属性进行定位
# a. 谷歌浏览器f12
# b.鼠标空白处点击检查

# 2)name定位法
# name属性好比一个人的名字,可以重复,也可以是唯一的

# 3)class 定位法
# class属性好比一个人的名字,可以重复,也可以是唯一的

# 4)xpath 定位法
# 通过路径定位元素


# 13、实操
from selenium import webdriver    #通过selenium 库导入webdriver包
from time import sleep

driver = webdriver.Chrome()    #创建一个对象driver 或者说浏览器对象,开打一个空白浏览器
driver.get('https://www.baidu.com')      #打开百度
driver.maximize_window()             #浏览器最大化
sleep(3)                       #线程等待3s
# driver.close()               #关闭浏览器

# 元素定位
# 1)id 定位方法
# driver.find_element_by_id('kw').send_keys('多测师')

# 2)name定位方法
# driver.find_element_by_name('wd').send_keys('多测师')

# 3)class 定位方法
# driver.find_element_by_class_name('s_ipt').send_keys('多测师')

# 4)link_text 定位链接
# driver.find_element_by_link_text('hao123').click()    #点击链接

# 5)partial_link_text 模糊匹配
# driver.find_element_by_partial_link_text('123').click()

# 6)JavaScript 定位  var 是JavaScript 里面定义的变量的,a 是变量
# js = 'var a = document.getElementById("kw").value="多测师"'
# driver.execute_script(js)     #执行

# 7)tag_name 定位标签
# driver.find_element_by_tag_name('input').send_keys('多测师')
#这个用法只能用于一个input标签
# s = driver.find_elements_by_tag_name('input')   #定位所有的input标签赋值给s
# print(s)
# print(type(s))     #<class 'list'>
# print(len(s))     #17
# for i in s:
#     if i.get_attribute('id') =='kw':
#         i.send_keys('多测师')

# 8)xpath 定位
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('多测师')
driver.find_element_by_xpath('//*[@name="wd"]').send_keys('多测师')
driver.find_element_by_xpath('//*[@class="s_ipt"]').send_keys('多测师')
driver.find_element_by_xpath('//*[@name="wd"and @class="s_ipt"]') .send_keys('多测师')         #组合标签
driver.find_element_by_xpath('//*[@autocomplete="off"]').send_keys('多测师')
driver.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys('多测师')


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册