Selenium 进行参数化
Selenium参数化分为大小:
小:list、dict、函数
大:txt、excel、mysql、redis
哪种方式使自己的工作简单高效就选那种!!!
Selenium进行参数化有多种形式:
本文全部以百度为例
一、把需要的参数写在一个txt文档中进行遍历,示例如下
- #引入所需包
- import time,codecs
- from selenium.webdriver.common.by import By
- from selenium import webdriver
- #把打开的文档内容进行utf-8编码
- source = codecs.open("123.txt","r","utf-8")
- value = source.readlines()
- # print(list(value))
- #遍历txt文档中的内容
- for search in value:
- driver = webdriver.Chrome()
- url = "https://www.baidu.com/"
- driver.get(url)
- driver.find_element(By.ID,"kw").send_keys(search)
- time.sleep()
- driver.find_element(By.ID,"su").click()
- driver.quit()
二、把需要的参数写在一个函数中,需要的时候进行调用,示例如下
函数部分
- def fun(user="hanxiaobei",pswd=""):
- print(u"调用函数成功")
- return user,pswd
代码部分
- from selenium.webdriver.common.by import By
- from selenium import webdriver
- import time
- import k1
- c2,c3=k1.fun()
- # print(k2,k3) #打印是否调用成功
- driver = webdriver.Chrome()
- url = "https://www.baidu.com/"
- driver.get(url)
- driver.find_element(By.LINK_TEXT,"登录").click()
- time.sleep()
- driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(c2)
- driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(c3)
- time.sleep() #由于需要输入验证码,我采用的手动输入,嘎嘎
- driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
- time.sleep()
- driver.quit()
三、把需要的参数写在字典中,需要的时候进行调用,示例如下
字典写成了一个函数,如下
- def zidian():
- data = {"han":"Hanxiaobei","user":,"hanxiaobei1":""}
- return data
遍历字典代码部分,如下
- from selenium.webdriver.common.by import By
- from selenium import webdriver
- import time
- import k1
- info=k1.zidian()
- # print(info)
- for username,passwd in info.items():
- print(username)
- print(passwd)
- driver = webdriver.Chrome()
- url = "https://www.baidu.com/"
- driver.get(url)
- driver.find_element(By.LINK_TEXT,"登录").click()
- time.sleep()
- driver.find_element(By.ID,"TANGRAM__PSP_10__userName").send_keys(username)
- driver.find_element(By.ID,"TANGRAM__PSP_10__password").send_keys(passwd)
- time.sleep()
- driver.find_element(By.ID,"TANGRAM__PSP_10__submit").click()
- time.sleep()
- driver.quit()
四、可以把需要的参数写在Excel中,进行遍历取值
关于操作Excel的模块和方法参考我之前写的:http://www.cnblogs.com/hanxiaobei/p/6565587.html
Selenium 进行参数化的更多相关文章
- selenium,unittest——参数化url,并多线程加快脚本运行速度
利用参数化连续打开网页: #encoding=utf-8import unittestimport paramunittestimport timefrom selenium import webdr ...
- Java+Selenium 如何参数化验证Table表格数据
场景: 当我们编写脚本时候,需要验证某个表格某一列数据,或者多个列数据. 如果每验证一个就写一个方法,实在是太费事, 因此我们需要有参数化的思想,把某列数据看成固定的元素,然后去验证即可. 1. 示例 ...
- 【虫师】【selenium】参数化
# 1 #coding=utf-8 from selenium import webdriver import os,time source = open("F:\\test\\info.t ...
- python+selenium自动化--参数化(paramunittest)
unnittest的参数化模块-paramunittest paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 两种用法 import unit ...
- Selenium之利用Excel实现参数化
Selenium之利用Excel实现参数化 说明:我是通过Workbook方式来读取excel文件的,这次以登陆界面为例 备注:使用Workbook读取excel文件,前提是excel需要2003版本 ...
- Selenium常用方法及函数、txt参数化
常用方法及函数: 1.表单的提交方法:submit解释:查找到表单(from)直接调用submit即可实例:driver.find_element_by_id("form1").s ...
- 行为驱动:Cucumber + Selenium + Java(四) - 实现测试用例的参数化
在上一篇中,我们介绍了Selenium + Cucumber + Java框架下的使用Tags对测试用例分组的实现方法,这一篇我们用数据表格来实现测试用例参数化. 4.1 什么是用例参数化 实际测试中 ...
- 自动化测试基础篇--Selenium中数据参数化之TXT
摘自https://www.cnblogs.com/sanzangTst/p/7722594.html 一.搜索参数化 在TXT文件中保存需要搜索的内容: 测试代码: 1 #!/usr/bin/env ...
- python + selenium 模块封装及参数化
模块封装 示例代码: baidu.py from time import sleep from selenium import webdriver driver = webdriver.Chrome( ...
随机推荐
- 图解Windows下安装WebLogic
Oracle 的Weblogic分开发者版本和生产版本,有32位和64位.一般生产版本的weblogic是64位的,安装文件是一个大小为1G多的jar包.去oracle官网上下载64版weblogic ...
- matlab Newton method
% Matlab script to illustrate Newton's method % to solve a nonlinear equation % this particular scri ...
- android:省市县三级联动(基于json和spring)
一.请看效果图": 二.程序的代码: 1.MainActivity.java package com.loveplusplus.loader.demo.ui; import org.json ...
- php生成二维码2
<?php include "phpqrcode.php"; $value = "http://huizhongda.taobao.com/"; $err ...
- 组件的使用(四)DatePickerDialog和TimePickerDialog的使用
这两个组件的使用都须要获得当前日期或时间.实现方法是获得一个Calender实例(调用getInstance()实例化) DatePickerDialog的使用 Calendar calendar=C ...
- 浅析分布式数据库中间件DDM
前言 DDM是什么?这是华为云Paas推出的分布式数据库中间件,DDM(Distributed Database Middleware)是一个实现了Mysql协议栈的服务器,前端用户可以把它看做一个数 ...
- OSX:不同OSX版本号的标记可能不兼容
现象: 依据測试,中文OS X 10.9和中文10.10的文件标记彼此不兼容. 也就是说.比方在10.9中的颜色标记,在10.10DP2中不能删除,但能够加入/删除10.10自己的颜色标记,反之亦然. ...
- hbase 增删改查 api 简单操作
package com.utils; import java.io.IOException; import java.util.ArrayList; import java.util.List; im ...
- hdoj--1716--排列2(暴力水题)
排列2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 洛谷 P1236 算24点
题目描述 几十年前全世界就流行一种数字游戏,至今仍有人乐此不疲.在中国我们把这种游戏称为"算24点".您作为游戏者将得到4个1~9之间的自然数作为操作数,而您的任务是对这4个操作数 ...