首页 > 其他 > 详细

selenium基础(参数化脚本)

时间:2019-10-19 14:49:56      阅读:83      评论:0      收藏:0      [点我收藏+]

参数化脚本

什么是参数化

  • 参数化就是用包含多组数据的参数列表,使之替换脚本中的响应常量值,这样,在脚本运行的时候,就会使用参数表中的数据来代替脚本中的常量值
  • 由于参数表中包含了多组数据,所以执行用例时,会多次自动运行脚本,每次使用不同组的数据来代替脚本,这个运行次数就是参数表中的记录数,每执行一次测试,称为一个反复

三种参数化的方法

  • 使用列表进行参数化
  • 读取TXT文件中的数据,读取文本有三种方式
    1. read():读取整个文件
    2. readline():读取一行数据
    3. readlines():读取所有行的数据
    4. user_file=open(test_data.txt,r)#以只读的方式打开test_data.txt文件,可标注文件路径或当文件和运行脚本在同一文件下时标注文件名称
      lines=user_file.readlines()#读取文件中的所有行,以数组的形式进行保存
      user_file.close()#关闭文件
      
      #遍历在文件中取出的数组
      for line in lines:
          username=line.split(,)[0]#以逗号作为分隔符,取出数组中的第一个元素
          password=line.split(,[1])#以逗号作为分隔符,取出同一数组中的第二个元素
          print(username.password)
  • 获取CSV文件中的数据
  • import csv#引入CSV包
    data=csv.reader(open(D:\\test\\login.csv,r))#读取CSV文件并以只读的方式打开CSV文件
    
    for line in data:
        print(line[0], line[1])#line[0]即读取line中的第一列元素 

例子:使用参数化的方式实现在百度页面中搜索不同的关键字

from selenium import webdriver
import time
keys=[selenium,自动化测试,性能测试,接口测试]
driver=webdriver.Firefox()
driver.get(https://www.baidu.com)

for text in keys:
    driver.find_element_by_xpath(//input[@id="kw"]).clear()
    driver.find_element_by_xpath(//input[@id="kw"]).send_keys(text)
    driver.find_element_by_id(su).click()
    print(driver.title)
    time.sleep(2)
driver.quit() 

 例子:以百度登录功能为例,使用读取txt文本的方式进行参数化

技术分享图片

from selenium import webdriver
import time

file_txt=open(D:\\test\\login.txt,r)
lines=file_txt.readlines()
file_txt.close()

for line in lines:
    username=line.split(,)[0]
    password=line.split(,)[1]
    print(username,password)
    driver=webdriver.Firefox()
    driver.get(http://www.baidu.com)
    driver.find_element_by_link_text(登录).click()
    time.sleep(2)
    driver.find_element_by_id(TANGRAM__PSP_10__footerULoginBtn).click()
    driver.find_element_by_name(userName).send_keys(username)
    driver.find_element_by_name(password).send_keys(password)
    driver.find_element_by_id(TANGRAM__PSP_10__memberPass).click()
    driver.find_element_by_id(TANGRAM__PSP_10__submit).click()
    time.sleep(2)
    driver.quit()

 例子:以百度登录功能为例,使用读取CSV文件的方式进行参数化

技术分享图片

from selenium import webdriver
import time
import csv#引入CSV包
data=csv.reader(open(D:\\test\\login.csv,r))#读取CSV文件并以只读的方式打开CSV文件

for line in data:
    print(line[0], line[1])#line[0]即读取line中的第一列元素
    driver=webdriver.Firefox()
    driver.get(http://www.baidu.com)
    driver.find_element_by_link_text(登录).click()
    time.sleep(2)
    driver.find_element_by_id(TANGRAM__PSP_10__footerULoginBtn).click()
    driver.find_element_by_name(userName).send_keys(line[0])#引用CSV文件中第一列元素
    driver.find_element_by_name(password).send_keys(line[1])#引用CSV文件中第一列元素
    driver.find_element_by_id(TANGRAM__PSP_10__memberPass).click()
    driver.find_element_by_id(TANGRAM__PSP_10__submit).click()
    time.sleep(2)
    driver.quit()

 

selenium基础(参数化脚本)

原文:https://www.cnblogs.com/jingdenghuakai/p/11703712.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!