python+selenium自动化测试框架(1)

python+selenium自动化测试框架(1)

自己第一次写博客,一方面想提高自己的写作能力,另一方面,自己花费时间解决的问题,记录下来,以后要是忘记啦,可以随时查看,当然要是大家碰到和我一样的问题,也是可以查看的
我用的是python3.6

一:python中实现代码与数据的分离**

第一种方法:
利用yaml这个工具来实现数据与代码的分离
以下是代码的讲解
from selenium import webdriver
#这一步是实现导入yaml这个工具
import yaml
#这一步是打开你所建立的yaml文件,并且读取它的内容
#还有就是python里面读取文件是要写完整的路径的,不能写一半
file=open(‘C:/appium/data/common.yaml’,‘r’)#需要注意的点就是/是这样弄的,不要,
#这里是利用了一个函数,load 加载文件
data=yaml.load(file)
driver = webdriver.Chrome()
class open:
def test_open(self):
driver.get(data[‘url’])#这块就是表示你所要的文件信息啦,这快读取文件的方式,是通过键值的方式来读取的,跟字典有些想向
driver.implicitly_wait(10)
1.下面这个是yaml文件的组建方式
在这里插入图片描述
第二种方式:
利用csv,来实现数据与代码的分离,适合登陆场景时,登陆:用户名与密码的分离
以下代码的实现:
from selenium import webdriver
import csv# 同理导入csv
利用python语言实现打开csv文件,并且读取它
csv_file=open(‘C:/appium/data/account.csv’,‘r’)
这里在csv中用到的函数就是reader
csv_data=csv.reader(csv_file)
#这里用到一个for循环,循环打印出这个csv文件
for item in csv_data:
print(item) #我个人理解是调试语言
driver = webdriver.Chrome()
def test_login(self):
driver.find_element_by_id(data[‘name_id’]).send_keys(item[0]) ###这里和yaml是有区分的,他是通过文件的行数,来读取文件,跟列表读取方式很相近
driver.find_element_by_id(data[‘password_id’]).send_keys(item[1])
driver.find_element_by_class_name(data[‘login_id’]).click()
在这里插入图片描述
[ 在这里插入图片描述
上面的这个是csv呈现的方式:

注意点提醒:
1.这里csv打开是通过浏览器打开的

猜你喜欢

转载自blog.csdn.net/weixin_42996498/article/details/83032252