2-5-1断言
Posted 射手九个半
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-5-1断言相关的知识,希望对你有一定的参考价值。
断言assert
- 断言一定是选择有指定意义的内容来进行断言
- 断言的形式:
- 一般常用的断言就是通过text来进行
- 除此之外,如果需要流程继续执行,可以考虑用显式等待。
- 目的:用于校验自动化执行是否正确(达到预期结果)
- 添加断言的节点:
- 在流程结束的时候
- 或者是在关键节点的时候(关键节点就是在流程中一些特定的重要场景下,可以适当添加断言机制来判定,以便于后续流程的正常运行。)
- assert函数:assert 预期结果的text==实际定位的text,异常信息
-
-
1 #预期结果:可以在购物车中去查找到的手机 2 assert_text=\'苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G\' 3 # text=driver.find_element(\'xpath\',\'//a[text()="苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G"]\').text 4 #使用断言进行判断是否可以在购物车中去查找到的手机 5 assert assert_text==driver.find_element(\'xpath\',\'//a[text()="苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G"]\').text,\'加入购物车失败\'
-
作业:将商品添加购物车流程,可以在购物车中再添加断言校验
1 # 课后作业: 2 # 1. 添加商品到购物车流程的自动化实现。商品推荐使用iPhone 6 plus的手机商品来实现流程 3 # 定位到搜索框,搜索iPhone 6 plus 4 5 from time import sleep 6 7 from selenium import webdriver 8 9 # 获取浏览器驱动 10 from selenium.webdriver.support.wait import WebDriverWait 11 12 driver=webdriver.Chrome() 13 #访问商城的url 14 15 driver.get(\'http://39.98.138.157/shopxo/index.php\') 16 #浏览器最大化 17 driver.maximize_window() 18 driver.implicitly_wait(10) 19 20 21 def login(): 22 #点击登录,进入登录页面 23 driver.find_element(\'xpath\',\'//div[@class="menu-hd"]/a[text()="登录"]\').click() 24 sleep(2) 25 #输入用户名 26 driver.find_element(\'xpath\',\'//input[@name="accounts"]\').send_keys(\'18700000000\') 27 #输入密码 28 driver.find_element(\'xpath\',\'//input[@name="pwd"]\').send_keys(\'18700000000\') 29 #点击登录按钮 30 driver.find_element(\'xpath\',\'//button[text()="登录"]\').click() 31 # #显示等待校验是否登录成功 32 # WebDriverWait(driver,10,0.5).until( 33 # lambda el:driver.find_element(\'xpath\',\'//p[text()="登录成功"]\'),message=\'登录失败\' 34 # ) 35 #使用assert校验是否登录成功 36 assert_text=\'18700000000\' 37 username=driver.find_element(\'xpath\',\'//span[@class="s-name"]/em[2]\').text 38 assert assert_text==username,\'登录失败\' 39 def AddToCart(): 40 #点击搜索框 41 driver.find_element(\'id\',\'search-input\').click() 42 #在搜索框中输入iPhone 6 plus 43 driver.find_element(\'id\',\'search-input\').send_keys(\'iPhone 6 plus\') 44 #点击搜索按钮 45 driver.find_element(\'id\',\'ai-topsearch\').click() 46 #点击手机图标 47 driver.find_element(\'xpath\',\'//p[text()="苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G"]\').click() 48 print(driver.title) 49 #获取到所有句柄 50 hds=driver.window_handles 51 # 切换句柄 52 driver.switch_to.window(hds[1]) 53 print(driver.title) 54 #选择套餐 55 driver.find_element(\'xpath\',\'//li[@data-value="套餐一"]\').click() 56 sleep(2) 57 #选择颜色 58 driver.find_element(\'xpath\',\'//li[@data-value="银色"]\').click() 59 sleep(2) 60 #选择容量 61 driver.find_element(\'xpath\',\'//li[@data-value="32G"]\').click() 62 #设置数量 63 driver.find_element(\'xpath\',\'//input[@type="number"]\').clear() 64 driver.find_element(\'xpath\',\'//input[@type="number"]\').send_keys(2) 65 # 点击加入购物车 66 driver.find_element(\'xpath\',\'//button[@title="加入购物车"]\').click() 67 #使用显示等待判断是否加入购物车成功 //p[text()="加入成功"] 68 # 69 # WebDriverWait(driver,10,0.5).until( 70 # lambda el:driver.find_element(\'xpath\',\'//p[text()="加入成功"]\'),message=\'加入失败\' 71 # ) 72 # 使用text判断是否加入购物车成功 //span[text()="购物车"] 73 driver.find_element(\'xpath\',\'//span[text()="购物车"]\').click() 74 #预期结果:可以在购物车中去查找到的手机 75 assert_text=\'苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G\' 76 # text=driver.find_element(\'xpath\',\'//a[text()="苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G"]\').text 77 #使用断言进行判断是否可以在购物车中去查找到的手机 78 assert assert_text==driver.find_element(\'xpath\',\'//a[text()="苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G"]\').text,\'加入购物车失败\' 79 80 81 #调用登录方法 82 login() 83 #调用加入购物车的方法 84 AddToCart()
以上是关于2-5-1断言的主要内容,如果未能解决你的问题,请参考以下文章