selenium官文文档阅读(day 3)
1.关联型xpath的用法
driver.find_element(By.XPATH,'//a[text()="xxx"]'/ancestor::祖先元素的标签名//……)
2.selenium等待
等待的作用 :在系统运行的过程中,等待网页内容的加载显示。需要耗费的时间,与网络速度、接口的复杂程度、框架设定等因素有关。在做UI自动化的时候,主要是基于系统的流程来实现的自动化,往往是下一步需要依赖上一步的特定条件才能继续执行。在下一步准备执行时,上一步必须已经完成执行,并生成实际结果。考虑到运行的时间问题和执行的步骤问题,在执行自动化测试的时候,是需要设置缓冲时间的。
2.1三大等待
1.强制等待——通过导入time类中的sleep,等待X秒之后,再继续执行后项代码。无所谓当前处于什么阶段,执行了什么操作,后续是否准备就绪。因为无法精准把握等待的时间(无法判定是否达到下一步进行的操作/无法判断页面是否加载),基本不在实际工作中使用。
2.显式等待——专门用于对指定的条件进行等待。在最大的等待时长内,依照查找的时间频率来进行搜索,查找指定的对象。until表示如果找到,则继续下一步,否则报出异常NoSuchElementException。显式等待的优点是精确对某个特定条件进行等待,不会浪费多余任何时间在等待上。如果条件成立,则立即进行下一步,如果不成立则抛出异常。
WebDriverWait(driver,20,0.5).until(ec.presence_of_element_located(locator))
3.隐式等待——设置一个隐形的等待,和一个最长等待时间,在这个时间内如果完成了页面的加载,就进行下一步,否则一直等到该时间结束,再进行下一步。优点是WebDriver整个周期都能起到作用,所以只需设置一次。缺点是必须要等待页面全部加载完成,才可以进行下一步,但有时候特定元素早已加载完成,因此在应用度上不是很灵活。
-
//设置隐式等待
-
driver.implicitly_wait(10)
3.自动化关键字驱动与关联
3.1关键字驱动
作用:把一些常用的功能进行简化。把自动化需要用到的功能,按实际业务和技术需要,封装为函数。这些功能函数,我们就称为关键字。通过关键字,做对应的功能动作,从而实现自动化,称之为关键字驱动的自动化。关键字驱动可以简化操作代码,方便自动化维护。
一个百度搜索的关键字调用简单案例:
-
from selenium import webdriver
-
from selenium.webdriver.common.by import By
-
import time
-
def get_url():
-
driver.get('https://www.百度.com')
-
def input_usrname():
-
driver.find_element(By.ID,'kw').send_keys('腾讯课堂')
-
def click_btrn():
-
driver.find_element(By.ID,'su').ckick()
-
driver = webdriver.Chrome()
-
get_url()
-
input_usrname()
-
click_btrn()
-
time.sleep(2)
-
driver.quit()
-
# 自动化框架:数据驱动;关键字驱动
-
# 数据驱动——操作和数据分开,是自动化测试的一种思想或理论
-
# 关键字是实现方式,讲一些重复率高的操作封装为关键字
3.2关联
关联是指上下文衔接调用的需求情况。关联一般分为两步,保存数据、使用数据。
4.断言
判断代码的执行是否符合预期。断言不能解决任何自动化问题,只是为了在某个节点给出明确结果。UI类自动化如果不需要校验数据正确性,就可以用报错作为断言。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiakbcf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22