线上第七期_selenium 进阶课 演练内容

课程大纲&细节点

昨天比较早就去睡觉了,所以课程帖子移动到明早发。
把基础课剩余未讲完的API移动到了进阶课了,但内容上进行了增强。注意命令行模式test_case用例目录一定要加导入pytest,目前在ide里面是选择pytest执行的,好习惯一定都要加上。

  • 控件分辨率:通过value_of_css_property()获取元素的属性,拿长宽做为分辨率解释
  • windows句柄:讲解句柄和部分grid那边才有的(拉起多个兼容性测试),wins啦起多个chrome进程切换,以及单个chrome进程对激活的网页进行切换,所以在self.driver的名字上面需要做区分,self.driver只是webdriver.Chrome()的变量名,如果拉起火狐和谷歌,只要替换Chrome(驱动位置),
    核心方法[current_window_handle,window_handles,switch_to.window],备注switch_to.frame没合适的例子,并且这里的switch_to.window当时课上用错了,下午纠正了。
    关于多个self.driver,self.driver1,self.driver2拉起,因为在测试套件区域内只有self.driver,我在上传的代码里改成了finally里面把self.driver1.quit()
  • 单击和遍历判断:包含在演练代码内,遍历判断是自动化测试里面的一种模式不是API,遍历判断本天课里讲了主要2大类,把里面的用法掰开讲的。
  • get_attribute:web自动化常用,可以提取控件的属性,来做比较深层次的检查。
  • JS使用滚动条,accept:滚动条概念和像素点,核心是execute_script(),通过这个触发accept,dismiss的出现条件。其他结合后面封装讲,主要是形参上更灵活。
  • EC.presence_of_element_located: 显示等待核心。显示等待未来是封装成函数放在工具类里面,直接使用过于长,虽然不复杂。
  • log:log的使用,log的几个参数的作用,导入log函数和log一个可用装饰器
    bin/vmoptions文件修改IDE内存
  • (cookieAPI)-获取全部cookie:获取后cookie类型list和拆解.
  • 添加新的add_cookie():关键字是name和value。
    内部网站提供通过cookie()添加自己的账号和密码绕开登录,。<-这里没演练,但可以拿内部网站试试,姿势是先获取get_cookies()
  • delete_all_cookies():最后删除全部添加的,在比对。
  • (行为链API)双击行为:行为链是如何写的,拆解,双击APi的源码
  • 鼠标移动:move_to_element(mouse) mouse是定位器定位的元素,结合处理下拉框类Select。
  • 下拉框Select:下拉框例子,结合前面API来讲的。
  • 位置移动:点击长按的API,这个会结合封装的一起讲,因为还需要加保护代码,有函数封装后,只要改下形参就好。
  • pytest扩展:好像都学习过,一个是安装一个报告增强的,一个是入参装饰器,可以把列表装载进形参列表的函数内,用python基础代码演示了原理。列表可以装载函数名和通过for 遍历后在加1个()就行了。

本期代码(和上期的都一起在里面)

微云下载地址

本期作业

1.京东官网 对上面分页内容做练习(不同定位方式,滚动条),也可以在一些区域内实验下单击和双击的差异。

2.增强(完成第一个的才做) https://www.taobao.com/ 对搜索区域输入任何文字。然后获取输入后展开的列表,对列表内数据进行操作(如何操作可以自己设计)
注意不要带登录账号密码行为,以前学生还把账号密码给上传了。如果要做登录行为,请用读取setting.py的数据驱动或者其他数据格式,但不要上传数据驱动文件。

结语

web定位器 使用chrome开发者工具,课堂上看老师根据APi做了不少例子。回头大家也要自己进行变形和举一反三啊