自动化测试(一)数据驱动及COOKIE相关操作

 查看浏览器相关信息

from selenium import webdriver

driver=webdriver.Chrome()
print(driver.capabilities["version"]) #浏览器版本
print(driver.capabilities["platform"]) #浏览器运行平台
print(driver.capabilities["browserName"]) #浏览器名称

数据驱动

基本用法 

from openpyxl import load_workbook

#打开一个xlsx文件
wb=load_workbook('test.xlsx')

#获取一张表(一)
# sheet1=wb.get_sheet_by_name('Sheet1')
#获取一张表(二)
# sheet1=wb['Sheet1']
#获取一张表(三)
sheet1=wb.worksheets[0]

#表格中输入内容
# sheet1['A1']='TEST'
#保存(修改之后需要保存,否则修改无效)
# wb.save('test.xlsx')

#打印表名
# print(sheet1.title)
#读取一整行(传入行号)
# print(sheet1[1])
#读取某一列
# print(sheet1['A'])
#读取某一格的值
# print(sheet1['A1'])
# print(sheet1['A1'].value)

#获取最大行数
# print(sheet1.max_row)
#获取最大列数
# print(sheet1.max_column)

# print(sheet1.rows)
# print(sheet1.columns)
# for row in sheet1.rows:
#     for cell in row:
#         print(cell.value,end='\t')
#     print()

# for column in sheet1.columns:
#     for cell in column:
#         print(cell.value, end='\t')
#     print()

 EXECL方法

from openpyxl import load_workbook

class ExcelMethod():
	def readExcel(self,filename):
		self.filename=filename
		excel_list=[]

		self.wb=load_workbook(self.filename)
		self.sheet=self.wb.worksheets[0]
		for row in self.sheet.rows:
			son_list=[]
			for cell in row:
				son_list.append(cell.value)
			excel_list.append(son_list)
		return excel_list[1:]


if __name__=="__main__":
	print(ExcelMethod().readExcel("test.xlsx"))

 执行测试用例

import unittest
from selenium import webdriver
from cases0303.excel_method import ExcelMethod
from time import sleep

class Excele_Test(unittest.TestCase):
	@classmethod
	def setUpClass(cls):
		cls.driver=webdriver.Chrome()
		cls.driver.get('https://www.baidu.com')
		cls.driver.maximize_window()
		cls.excelmethod=ExcelMethod()
		cls.user_list=cls.excelmethod.readExcel("test.xlsx")

	def test_search(self):
		for i in range(0,len(self.user_list)):
			searchbox=self.driver.find_element_by_id('kw')
			searchbox.clear()
			searchbox.send_keys(self.user_list[i][1])
			sleep(1)
			self.driver.find_element_by_id('su').click()
			sleep(1)
			self.assertTrue(self.user_list[i][2] in self.driver.page_source)
			print(self.driver.page_source)

	@classmethod
	def tearDownClass(cls):
		cls.driver.quit()

if __name__ == "__main__":
	unittest.main()

自带CSV模块

import csv
# # 读取csv第一种方式
# csvfile=open('data.csv','r')
# reader=csv.reader(csvfile)
# print(reader)
# data=[]
# for row in reader:
#     print(row)
#     data.append(row)
# print(data)
# print(data[0][0])

#读取csv第二种方式
# data=[]
# with open('data.csv','r') as csvfile:
#     reader=csv.reader(csvfile)
#     for row in reader:
#         print(row)
#         data.append(row)

data=[['test1', '123456'], ['test2', '123457'], ['test3', '123458'], ['test4', '123459']]
csvfile=open('data.csv','w') #csv写入文件,默认会加换行
# csvfile=open('data.csv','w',newline='')# 加 newline='' 取消换行
writer=csv.writer(csvfile)
for i in range(len(data)):
    writer.writerow(data[i])


#字典写入
# dic={'zhangsan':123456,'lisi':'222222','wangwu':'3333'}
# csvfile=open('data.csv','w',newline='')
# writer=csv.writer(csvfile)
# for key in dic:
#     writer.writerow([key,dic[key]])

COOKIE相关操作

from time import sleep

from selenium import webdriver

# 添加cookie
# driver.add_cookie({'name':'WebTSET001',"value":"1000000aaa"})

# 获取本网站所有本地cookies
# print(driver.get_cookies())
# for cookie in driver.get_cookies():
#     print("%s-->%s"%(cookie["name"],cookie["value"]))
# get_cookie(name) 获取指定cookie

# 删除cookie的两种方法
# 第一种,通过cookie的name属性,删除name值为aaa的cookie信息
# driver.delete_cookie('aaa')
# 第二种,一次性删除全部cookie信息
# driver.delete_all_cookies()

# 百度登录实例
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")

driver.add_cookie({'name':'BDUSS','value':'VHVGI2VkkxeFRDcFI4NDMwZmlHSDZmR2lBd01ZRERNZkZzc1FnVn5OcmNRcUJjQVFBQUFBJCQAAAAAAAAAAAEAAADpadEDbDg5MzM1MjYwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANy1eFzctXhcMF'})


sleep(3)
driver.refresh()

sleep(2)
driver.quit()

配置个人资料 

from selenium import webdriver
from time import sleep
'''
注意:需要保证没有chrome浏览器正在打开,否则运行报错
'''

# 个人资料路径(chrome://version/,查看个人资料路径,去掉最后的‘\Default’)
profile_directory = r'--user-data-dir=C:\Users\Maye\AppData\Local\Google\Chrome\User Data'
# 加载配置数据
option = webdriver.ChromeOptions()
option.add_argument(profile_directory)
# 启动浏览器配置
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://www.baidu.com')

from selenium import webdriver
import time
'''
cmd中查看火狐配置文件:firefox.exe -p -no-remote
通过创建配置文件,可以看到配置文件的存储路径
firefox浏览器:帮助---故障排除信息---获取配置文件夹路径

可配置项:about:config
'''

# 指定配置文件
profile_path=r'C:\Users\Maye\AppData\Local\Mozilla\Firefox\Profiles\ns286msp.default'
# 加载自定义配置文件到FirefoxProfile实例中
profile=webdriver.FirefoxProfile(profile_path)
driver=webdriver.Firefox(profile)
driver.get('http://www.baidu.com')

# time.sleep(5)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值