webdriver提供了一些简单的操作,比如说对简单对象定位、鼠标操作、键盘操作等,webdriver 还提供了对浏览器的操作和cookie的操作,可以设置窗口大小,可以读取、添加和删除 cookie 信息,方便我们在自动化测试过程中进行功能验证。
2.1.1 浏览器最大化
test_login.py中的代码:
import pytest
from time import sleep
from selenium import webdriver
def test_2():
global driver
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")
# 将浏览器最大化显示
driver.maximize_window()
sleep(3)
driver.quit()
2.1.2 设置浏览器窗口大小
除了可以设置浏览器窗口的最大化之外,也可以根据需要自主设置浏览器窗口大小
import pytest
from time import sleep
from selenium import webdriver
def test_2():
global driver
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")
# 设置浏览器宽为1500、高为1000
driver.set_window_size(1500,1000)
sleep(3)
driver.quit()
2.1.3 控制浏览器前进、后退
webdriver 提供了 back()和 forward()方法,对浏览器执行前进和后退的操作
import pytest
from time import sleep
from selenium import webdriver
def test_2():
global driver
driver=webdriver.Firefox()
url_1 = "https://www.baidu.com"
url_2 = "https://www.youdao.com"
#访问第一个网址
driver.get(url_1)
sleep(5)
# 访问第二个网址
driver.get(url_2)
sleep(5)
#返回到第一个网址
driver.back()
sleep(5)
#前进到第二个网址
driver.forward()
sleep(5)
#退出浏览器
driver.quit()
2.2.1获取cookie信息
有时我们需要验证浏览器中是否存在某个 cookie,所以操作cookie来获取cookie的内容
test_login.py代码如下:
import pytest
from time import sleep
def test_2():
global driver
driver=webdriver.Firefox()
url_1 = "https://www.baidu.com"
#访问百度
driver.get(url_1)
sleep(5)
#获取所有cookie的信息
cookies=driver.get_cookies()
print(cookies)
sleep(3)
driver.quit()
执行结果如下:
"E:\Program Files\myPytest\venv\Scripts\python.exe" "E:/Program Files/myPytest/test_case/test_login.py"
[{'name': 'BIDUPSID', 'value': 'C1D68BB89B682DD4B79B12F76AEB771B', 'path': '/', 'domain': '.baidu.com', 'secure': False, 'httpOnly': False, 'expiry': 3738630861}, {'name': 'PSTM', 'value': '1591147209', 'path': '/', 'domain': '.baidu.com', 'secure': False, 'httpOnly': False, 'expiry': 3738630861}, {'name': 'BAIDUID', 'value': 'C1D68BB89B682DD4521F345CA80E560B:FG=1', 'path': '/', 'domain': '.baidu.com', 'secure': False, 'httpOnly': False, 'expiry': 1622683214}, {'name': 'BD_HOME', 'value': '1', 'path': '/', 'domain': 'www.baidu.com', 'secure': False, 'httpOnly': False}, {'name': 'H_PS_PSSID', 'value': '1423_31325_21081_31069_31605_31271_31715_30823', 'path': '/', 'domain': '.baidu.com', 'secure': False, 'httpOnly': False}, {'name': 'BD_UPN', 'value': '13314352', 'path': '/', 'domain': 'www.baidu.com', 'secure': False, 'httpOnly': False, 'expiry': 1592011214}]
.
1 passed in 13.73s
2.2.2 操作cookie
test_login.py代码如下:
import pytest
import json
def test():
#打开json文件,设置编码格式为utf-8
file=open("data/test.json",encoding='utf-8')
#加载json文件
cont=json.load(file)
#读取第二组demo中的data数据
data=cont[1]['demo']['data']
#读取第一组name数据
name= cont[1]['name']
#读取第一组age数据
age=cont[0]['age']
#打印相应的值
print(data)
print(name)
print(age)
if __name__ == '__main__':
pytest.main(["-sq","test_readData.py"])
执行之后,输出的内容如下:
"E:\Program Files\myPytest\venv\Scripts\python.exe" "E:/Program Files/myPytest/test_case/test_readData.py"
13
admin
10
.
1 passed in 0.04s
Process finished with exit code 0
欢迎关注「技术分享交流」公众号 ,如果有建议或者疑问的话,欢迎大家评论留言!