web自动化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web自动化相关的知识,希望对你有一定的参考价值。

参考技术A 1.下拉列表是非常常见的页面元素。是一种特殊的页面元素,定位和其他元素没区

别,但是其操作不其他元素不同。

2.需要导入包

from selenium.webdriver.support.select import Select

注意:需要把元素转换为下列列表对象,才能点出下面的api

3.选择下列列表中的元素有三种方式

• select_by_index() #索引

• select_by_visible_text()#文本

• select_by_value()#value属性的值

• Keys()类提供了键盘上几乎所有按键的方法。

• send_keys()方法可以用来模拟键盘输入。

• 还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。

• 在使用键盘按键方法前需要先导入 keys 类。

• from selenium.webdriver.common.keys import Keys

常用的键盘操作:

• send_keys(Keys.BACK_SPACE) 删除键(BackSpace)

• send_keys(Keys.TAB) 制表键(Tab)(不常用)

• send_keys(Keys.ESCAPE) esc键(Esc)

• send_keys(Keys.ENTER) 回车键(Enter)

• send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)

• send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)

• send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)

• send_keys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)

#案例:在百度搜索栏中,进行输入,删除,全选,剪切,粘贴功能
dr=webdriver.Firefox()

dr.get('http://www.baidu.com')

sleep(2)

e=dr.find_element_by_id('kw')

e.send_keys('软件测试')

sleep(2)

e.send_keys(Keys.CONTROL,'a')

sleep(2)

e.send_keys(Keys.CONTROL,'x')

sleep(2)

dr.get('http://www.taobao.com')

sleep(2)

e=dr.find_element_by_id('q')

e.send_keys(Keys.CONTROL,'v')

sleep(2)

dr.quit()

• 浏览器窗口大小的控制

dr.set_window_size(宽,高)

dr.maximize_window():最大化显示

dr.minimize_window():最小化显示,在最小化情况下,也可以进行元素定位及操作

• 页面前进与后退

back()和forward()方法来模拟后退和前进按钮

#案例:进入淘宝,然后设置浏览器的大小为400,500,然后最大,最小,再最大,转入到百度,然后后退,再前进

dr=webdriver.Firefox()

dr.get("http://www.qq.com")

sleep(2)

dr.minimize_window()

sleep(2)

dr.maximize_window()

sleep(2)

dr.set_window_size(300,300)

sleep(2)

dr.get("http://www.taobao.com")

sleep(2)

dr.back()

sleep(2)

dr.forward()

sleep(2)

dr.quit()

• 页面刷新

driver.refresh()

• 针对浏览器窗口页面截图

get_screenshot_as_file(保存图片的位置)

• 浏览窗口的关闭和浏览器退出

使用quit()方法,其含义为退出相关的驱动程序和关闭所有窗口。

使用close()方法,关闭单个窗口,关闭最前面的窗口

多窗口的意思是一个浏览器中打开了多个窗口

• 浏览器标签页的切换

   • 浏览器的标签页在应用中一般称为页面句柄(handle)。

   • 获取当前窗口句柄:driver.current_window_handle

   • 获取浏览器所有句柄:driver.window_handles

   • 切换到指定的浏览器窗口:driver.switch_to.window(handle)

Web自动化测试08:Selenium—键盘操作

更多功能测试以及全套学习路线图均在专栏,↑↑戳进去领取~

👼 Web自动化测试01:认识web自动化在什么项目中适用
👼Web自动化测试02:Web自动化测试工具选择大全
👼Web自动化测试03:Selenium安装配置,详细教程
👼Web自动化测试04:Selenium-API操作之元素定位
👼Web自动化测试05:Selenium-CSS定位
👼Web自动化测试06:元素操作、浏览器操作方法以及获取元素信息
👼Web自动化测试07:Selenium—鼠标操作


文章目录


学习目标

我们web自动化的内容,一共分为七个模块。今天开始第二章的学习,Selenium-API操作相关内容。如果你们还想回顾功能测试等等相关内容欢迎关注上方专栏!!!

本文学习目标:

1.掌握键盘操作的方法


一、键盘操作

思考:如何实现复制粘贴的操作?

说明:
1).模拟键盘上一些按键或者组合键的输入 如:Ctrl+C 、Ctrl+V;
2).Selenium中把键盘的按键都封装在Keys类中

二、Keys类

导包:from selenium.webdriver.common.keys import Keys

三、常用的键盘操作

1.send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
2.send_keys(Keys.SPACE) 空格键(Space)
3.send_keys(Keys.TAB) 制表键(Tab)
4.send_keys(Keys.ESCAPE) 回退键(Esc)
5.send_keys(Keys.ENTER) 回车键(Enter)
6.send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A)
7.send_keys(Keys.CONTROL,‘c’) 复制(Ctrl+C)

提示:以上方法就不一个一个讲解了,因为调用方法都一样;

3.1 键盘操作案例

需求:打开注册A页面,完成以下操作
1).输入用户名:admin1,暂停2秒,删除1
2).全选用户名:admin,暂停2秒
3).复制用户名:admin,暂停2秒
4).粘贴到密码框

3.2 案例代码解析

# 定位用户名
element = driver.find_element_by_id("userA") # 输入用户名
element.send_keys("admin1") # 删除1
element.send_keys(Keys.BACK_SPACE)  # 全选element.send_keys(Keys.CONTROL, 'a') # 复制element.send_keys(Keys.CONTROL, 'c') # 粘贴
driver.find_element_by_id('passwordA').send_keys(Keys.CONTROL, 'v')

四、键盘学习总结

1.Keys类的作用
2.键盘操作调用方法

往期内容合集

2022年软件测试相关学习资源持续更新中,关注专栏:https://blog.csdn.net/itcast_cn/category_11590215.html

以上是关于web自动化的主要内容,如果未能解决你的问题,请参考以下文章

web自动化测试计划和步骤

web自动化测试的流程?

web自动化,下拉框处理?

web自动化测试总结

web自动化简介

web自动化测试是啥意思