陈宇 发表于 2021-9-10 21:11:03

selenium

selenium
selenium是一个第三方库,python有很多库;
1、什么是ui自动化?(ui:就是界面设计页面)
通过模拟手工操作用户ui页面的方式,用代码去实现自动化操作和验证的行为。
2、ui自动化的优点?
(1)解决重复性的功能测试和验证
(2)减少测试人员在回归测试时用例漏测和验证点的漏测
(3)减少冒烟测试,回归测试的人力成本,节省时间,提高测试效率
3、ui自动化缺点?
(1)需求不稳定,比如,敏捷开发速度快,ui频繁变革,定位不稳定,提高了用例维护的成功
(2)自动化用例的覆盖率,占用例总数的20%-30%(正常场景)
(3)场景覆盖占当前功能场景70%-80%
4、ui自动化和功能测试那个更重要?
都重要,先功能测试成功以后,再ui自动化测试
原因:(1)功能测试是基础,在熟悉功能的前提下才能做好ui自动化
selenium
selenium是一个第三方库,python有很多库;
1、什么是ui自动化?(ui:就是界面设计页面)
通过模拟手工操作用户ui页面的方式,用代码去实现自动化操作和验证的行为。
2、ui自动化的优点?
(1)解决重复性的功能测试和验证
(2)减少测试人员在回归测试时用例漏测和验证点的漏测
(3)减少冒烟测试,回归测试的人力成本,节省时间,提高测试效率
3、ui自动化缺点?
(1)需求不稳定,比如,敏捷开发速度快,ui频繁变革,定位不稳定,提高了用例维护的成功
(2)自动化用例的覆盖率,占用例总数的20%-30%(正常场景)
(3)场景覆盖占当前功能场景70%-80%
4、ui自动化和功能测试那个更重要?
都重要,先功能测试成功以后,再ui自动化测试
原因:(1)功能测试是基础,在熟悉功能的前提下才能做好ui自动化
打开页面方法:
方法一: 格式d.get打开浏览器
from   selenium   import   webdriver#导入第三库selenium
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")

方法二:
格式:对象.execute_script("window.open(url)")
案例:
d.execute_script("window.open('https://www.baidu.com/')")

案例1:原窗口覆盖
from   selenium   import   webdriver#导入第三库selenium
importtime
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
time.sleep(2)
d.get("https://www.jd.com/")

案例2:重新打开窗口覆盖
from   selenium   import   webdriver#导入第三库selenium
importtime
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
time.sleep(2)
d.execute_script("window.open('https://www.jd.com/')")

===========================================
时间等待中的三种:
第一种:强制等待sleep    (不管运行完还未运行等待时间,在操作下一步)
sleep(秒数)
案例:
d.execute_script("window.open('https://www.jd.com/')")
from   selenium   import   webdriver#导入第三库selenium
importtime
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
time.sleep(2)
d.execute_script("window.open('https://www.jd.com/')")

第二种:隐性等待(当上一个运行结果,提前运行完成,等待时间就更少,整个项目的时间就减少)
d.implicitly_wait()
from   selenium   import   webdriver#导入第三库selenium
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
d.implicitly_wait(10)
d.execute_script("window.open('https://www.jd.com/')")


第三种:显性等待:webdriverwait
===========================================
页面刷新refresh()
from   selenium   import   webdriver#导入第三库selenium
from   timeimport   sleep
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
sleep(2)
d.refresh()
===========================================
back 返回上一页
from   selenium   import   webdriver#导入第三库selenium
from   time import   *
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
d.implicitly_wait(10)
d.get("https://www.jd.com/")
sleep(2)
d.back() #返回上一页
===========================================
forward()#切换到下一页
from   selenium   import   webdriver#导入第三库selenium
from   time import   *
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
d.implicitly_wait(10)
d.get("https://www.jd.com/")
sleep(2)
d.back() #返回上一页
sleep(3)
d.forward() #切换到下一页
===========================================
set_window_size 设置窗口大小
from   selenium   import   webdriver#导入第三库selenium
from   time import   *
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
sleep(2)
d.set_window_size(500,500)
===========================================
d.maximize_window()窗口最大化
from   selenium   import   webdriver#导入第三库selenium
from   time import   *
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
sleep(2)
d.maximize_window()
===========================================
get_screenshot_as_file截屏
from   selenium   import   webdriver#导入第三库selenium
from   time import   *
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
sleep(2)
d.get_screenshot_as_file(r"D:\ls\ls\hz10.png")

===========================================

[*]退出有两种方式,一种是 close;另外一种是 quit
[*]close用于关闭当前窗口,当打开的窗口较多时,就可以用 close 关闭部分窗口
[*]quit用于结束进程,关闭所有的窗口


案例1: close关闭当前窗口
from   selenium   import   webdriver#导入第三库selenium
fromtime import*
d=webdriver.Chrome()#创建一个driver 对象来打开浏览器,对浏览器实现操作
d.get("https://www.baidu.com/")
d.implicitly_wait(10)
d.execute_script("window.open('https://www.jd.com/')")
sleep(2)
d.close()


案例2: quit关闭所有窗口
d.get("https://www.baidu.com/")
d.implicitly_wait(10)
d.execute_script("window.open('https://www.jd.com/')")
sleep(2)
d.quit()

页: [1]
查看完整版本: selenium