Selenium参数化分为大小:

小:list、dict、函数

大:txt、excel、mysql、redis

哪种方式使自己的工作简单高效就选那种!!!

Selenium进行参数化有多种形式:

本文全部以百度为例

一、把需要的参数写在一个txt文档中进行遍历,示例如下

  1. #引入所需包
  2. import time,codecs
  3. from selenium.webdriver.common.by import By
  4. from selenium import webdriver
  5.  
  6. #把打开的文档内容进行utf-8编码
  7. source = codecs.open("123.txt","r","utf-8")
  8. value = source.readlines()
  9. # print(list(value))
  10.  
  11. #遍历txt文档中的内容
  12. for search in value:
  13. driver = webdriver.Chrome()
  14. url = "https://www.baidu.com/"
  15. driver.get(url)
  16. driver.find_element(By.ID,"kw").send_keys(search)
  17. time.sleep()
  18. driver.find_element(By.ID,"su").click()
  19. driver.quit()

二、把需要的参数写在一个函数中,需要的时候进行调用,示例如下

函数部分

  1. def fun(user="hanxiaobei",pswd=""):
  2. print(u"调用函数成功")
  3. return user,pswd

代码部分

  1. from selenium.webdriver.common.by import By
  2. from selenium import webdriver
  3. import time
  4. import k1
  5. c2,c3=k1.fun()
  6. # print(k2,k3) #打印是否调用成功
  7.  
  8. driver = webdriver.Chrome()
  9. url = "https://www.baidu.com/"
  10. driver.get(url)
  11. driver.find_element(By.LINK_TEXT,"登录").click()
  12. time.sleep()
  13. driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(c2)
  14. driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(c3)
  15. time.sleep() #由于需要输入验证码,我采用的手动输入,嘎嘎
  16. driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
  17. time.sleep()
  18. driver.quit()

三、把需要的参数写在字典中,需要的时候进行调用,示例如下

字典写成了一个函数,如下

  1. def zidian():
  2. data = {"han":"Hanxiaobei","user":,"hanxiaobei1":""}
  3. return data

遍历字典代码部分,如下

  1. from selenium.webdriver.common.by import By
  2. from selenium import webdriver
  3. import time
  4. import k1
  5. info=k1.zidian()
  6. # print(info)
  7. for username,passwd in info.items():
  8. print(username)
  9. print(passwd)
  10. driver = webdriver.Chrome()
  11. url = "https://www.baidu.com/"
  12. driver.get(url)
  13. driver.find_element(By.LINK_TEXT,"登录").click()
  14. time.sleep()
  15. driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(username)
  16. driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(passwd)
  17. time.sleep()
  18. driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
  19. time.sleep()
  20. driver.quit()

四、可以把需要的参数写在Excel中,进行遍历取值

关于操作Excel的模块和方法参考我之前写的:http://www.cnblogs.com/hanxiaobei/p/6565587.html

Selenium 进行参数化的更多相关文章

  1. selenium,unittest——参数化url,并多线程加快脚本运行速度

    利用参数化连续打开网页: #encoding=utf-8import unittestimport paramunittestimport timefrom selenium import webdr ...

  2. Java+Selenium 如何参数化验证Table表格数据

    场景: 当我们编写脚本时候,需要验证某个表格某一列数据,或者多个列数据. 如果每验证一个就写一个方法,实在是太费事, 因此我们需要有参数化的思想,把某列数据看成固定的元素,然后去验证即可. 1. 示例 ...

  3. 【虫师】【selenium】参数化

    # 1 #coding=utf-8 from selenium import webdriver import os,time source = open("F:\\test\\info.t ...

  4. python+selenium自动化--参数化(paramunittest)

    unnittest的参数化模块-paramunittest paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 两种用法 import unit ...

  5. Selenium之利用Excel实现参数化

    Selenium之利用Excel实现参数化 说明:我是通过Workbook方式来读取excel文件的,这次以登陆界面为例 备注:使用Workbook读取excel文件,前提是excel需要2003版本 ...

  6. Selenium常用方法及函数、txt参数化

    常用方法及函数: 1.表单的提交方法:submit解释:查找到表单(from)直接调用submit即可实例:driver.find_element_by_id("form1").s ...

  7. 行为驱动:Cucumber + Selenium + Java(四) - 实现测试用例的参数化

    在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的使用Tags对测试用例分组的实现方法,这一篇我们用数据表格来实现测试用例参数化. 4.1 什么是用例参数化 实际测试中 ...

  8. 自动化测试基础篇--Selenium中数据参数化之TXT

    摘自https://www.cnblogs.com/sanzangTst/p/7722594.html 一.搜索参数化 在TXT文件中保存需要搜索的内容: 测试代码: 1 #!/usr/bin/env ...

  9. python + selenium 模块封装及参数化

    模块封装 示例代码: baidu.py from time import sleep from selenium import webdriver driver = webdriver.Chrome( ...

随机推荐

  1. 图解Windows下安装WebLogic

    Oracle 的Weblogic分开发者版本和生产版本,有32位和64位.一般生产版本的weblogic是64位的,安装文件是一个大小为1G多的jar包.去oracle官网上下载64版weblogic ...

  2. matlab Newton method

    % Matlab script to illustrate Newton's method % to solve a nonlinear equation % this particular scri ...

  3. android:省市县三级联动(基于json和spring)

    一.请看效果图": 二.程序的代码: 1.MainActivity.java package com.loveplusplus.loader.demo.ui; import org.json ...

  4. php生成二维码2

    <?php include "phpqrcode.php"; $value = "http://huizhongda.taobao.com/"; $err ...

  5. 组件的使用(四)DatePickerDialog和TimePickerDialog的使用

    这两个组件的使用都须要获得当前日期或时间.实现方法是获得一个Calender实例(调用getInstance()实例化) DatePickerDialog的使用 Calendar calendar=C ...

  6. 浅析分布式数据库中间件DDM

    前言 DDM是什么?这是华为云Paas推出的分布式数据库中间件,DDM(Distributed Database Middleware)是一个实现了Mysql协议栈的服务器,前端用户可以把它看做一个数 ...

  7. OSX:不同OSX版本号的标记可能不兼容

    现象: 依据測试,中文OS X 10.9和中文10.10的文件标记彼此不兼容. 也就是说.比方在10.9中的颜色标记,在10.10DP2中不能删除,但能够加入/删除10.10自己的颜色标记,反之亦然. ...

  8. hbase 增删改查 api 简单操作

    package com.utils; import java.io.IOException; import java.util.ArrayList; import java.util.List; im ...

  9. hdoj--1716--排列2(暴力水题)

     排列2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  10. 洛谷 P1236 算24点

    题目描述 几十年前全世界就流行一种数字游戏,至今仍有人乐此不疲.在中国我们把这种游戏称为"算24点".您作为游戏者将得到4个1~9之间的自然数作为操作数,而您的任务是对这4个操作数 ...