ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

手把手带你学python自动化测试(七)——Cookie 处理

2022-03-19 21:34:35  阅读:218  来源: 互联网

标签:title python 手把手 element drvier Cookie expected cookie conditions


通过 webdriver 可以对浏览器中的 cookie 进行处理,常见处理方式有获取 cookie、添加 cookie、删除指定 cookie、删除所有 cookie。

获取 cookie 信息

from selenium import webdriver 
from time import sleep 
drvier=webdriver.Firefox() 
drvier.get('http://www.chuangyijia.com/login') 
打开前台登陆页面 
drvier.implicitly_wait(3) 
drvier.find_element_by_id('email').send_keys('8101550 
67@qq.com') 
输入用户名 
drvier.find_element_by_id('pwd').send_keys('a654321') 
输入密码 
drvier.find_element_by_css_selector('#submit').click() 
点击登陆 
cookie = drvier.get_cookies() 
获取登陆后的 cookie 信息 
print cookie 
打印获取到的 cookie 信息

向 cookie 中添加信息

from selenium import webdriver 
from time import sleep 
drvier=webdriver.Firefox() 
drvier.get('http://www.chuangyijia.com/login') 
打开前台登陆页面 
cookie = drvier.add_cookie({‘name’:’key
test’,’value’:’key-test’}) 
添加 cookie 信息 

添加 cookie,可以使用 add_cookie 方式添加。

删除 cookie 中的信息

drvier.delete_cookie('ci_session') 
删除 cookie 
drvier.delete_all_cookies() 
删除所有 cookie 

expected_conditions

在自劢化测试过程中,通常需要对测试结果做出判断,在此可以通过 expected_conditions 来实现预期结果的判定,以此来断言执行状况。 expected_conditions 提供了徆多方法,常用的方法如下:

  • title_is:判断弼前页面的 title 是否为预期结果

title_contains:判断弼前页面的 title 是否包含预期字符

  • presence_of_element_located:判断一个元素是否存在,但是丌表示该元素可见, 如果该元素存在,则返回该元素,否则抛出异常。
  • visibility_of_element_located:判断页面是否存在元素,并且该元素可见,如果存 在并可见,则返回该元素,否则抛异常。 presence_of_all_elements_located:判断至少有一个页面存在,叧要有一个,则 返回一个所有元素的列表,否则返回空列表。
  • text_to_be_present_in_element:判断一个元素的文本中是否包含了预期字符串,

匹配则返回 True,否则返回 False。

from selenium import webdriver 
导入 webdriver 
from selenium.webdriver.support import expected_conditions 
导入 expected_conditions 模块 
from selenium.webdriver.common.by import By 
在 expected_conditions 中需要使用定位,by 提供统一使用 
find_element()方法,简化了定位操作 
from time import sleep 
导入 sleep 模块 
drvier=webdriver.Firefox() 
打开浏览器 
drvier.get('http://www.chuangyijia.com/login') 
打开登陆页面 
drvier.implicitly_wait(3) 
等待 3 秒 
drvier.find_element_by_id('email').send_keys('810155067@qq 
.com') 
输入用户名 
drvier.find_element_by_id('pwd').send_keys('a654321') 
输入密码 
drvier.find_element_by_css_selector('#submit').click() 
登陆 
sleep(2) 
此时等待 2 秒,主要是为了获取 title,太快的话,获取的 title 
是登陆成功之前的 title 
35is_title=expected_conditions.title_is(u'首页-创意家') 
判断页面的 title 是否为预期的字符串 
is_title(drvier) 
如果与预期字符串相等,这里返回结果为 True,否则为 False。 
Title_is 是一个 Class,该 class 中实现了__call__方法,那么这 
个类对象就能像函数一样调用了。 
is_in_title=expected_conditions.title_contains(u'创意家') 
判断 title 中是否包含预期字符串 
is_in_title(drvier) 
可以用 print 打印他的返回结果为 True 还 False 
is_exist=expected_conditions.presence_of_element_located(( 
By.CSS_SELECTOR,'.sq_menu > a:nth-child(3)')) 
判断元素是否存在页面上,不一定会显示在页面上 
print is_exist(drvier) 
如果存在,这里返回元素信息,否则这里会出现 
NoSuchElementException 的异常。 
in_ele=expected_conditions.presence_of_all_elements_locate 
d((By.TAG_NAME,'li')) 
页面是否至少存在一个指定元素 
print in_ele(drvier) 
如果存在,这里返回一个列表,否则返回列表为空 
visibility_exist=expected_conditions.visibility_of_element 
_located((By.TAG_NAME,'li')) 
检查元素是否可见 
print visibility_exist(drvier) 
如果元素存在并可见,则返回元素信息,元素不可见,则返回异常, 
NoSuchElementException 的异常,如果元素存在,但是不可见, 
则返回 False。 
3637 
is_text_in_ele=expected_conditions.text_to_be_present_in_e 
lement((By.CSS_SELECTOR,'.menu > ul:nth-child(1) > li:nth
child(1) > a:nth-child(1)'),u'意') 
检查元素中是否包含字符串 
print is_text_in_ele(drvier) 
如果检查中包含字符串,则返回 True,否则返回 False。 

标签:title,python,手把手,element,drvier,Cookie,expected,cookie,conditions
来源: https://blog.csdn.net/fx20211108/article/details/123603128

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有