码迷,mamicode.com
首页 > 编程语言 > 详细

Selenium+python自动化21-TXT数据参数化

时间:2018-05-12 11:54:54      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:ase   执行   driver   mon   技术分享   window   testcase   文件中   cep   

前言

     在17篇我们讲了excel数据的参数化,有人问了txt数据的参数化该怎么办呢,下面小编为你带你txt数据参数化的讲解

一、以百度搜索为例,自动搜索五次不同的关键字。输入的数据不同从而引起输出结果的变化。

     测试脚本:

 1 #coding=utf-8
 2 from selenium import webdriver
 3 import unittest, time, os
 4 class Login(unittest.TestCase):
 5     def test_login(self):
 6         source = open("D:\\test\\txt.txt", "r")
 7         values = source.readlines()
 8         source.close()
 9         # 执行循环
10         for hzy in values :
11            driver=webdriver.Firefox()
12            driver.get("http://www.baidu.com/")
13            driver.maximize_window()
14            driver.find_element_by_id("kw").send_keys(hzy)
15            driver.find_element_by_id("su").click()
16            time.sleep(2)
17            driver.close()

 

    txt文件:

    技术分享图片

 

    open方法以只读方式(r)打开本地txt.txt文件,readlines方法是逐行读取整个文件内容。

    通过for循环,hzy可以每次获取到文件中一行数据,在定位到百度输入框后,将数据传入send_keys(hzy)。这样通过循环调用,直到文件的中的所有内容全被读取。

二、登录参数化
   现在按照上面的思路,对自动化脚本中用户、名密码进行参数化,通过 python 文档我们发现 python读取文件的方式有:整个文件读取、逐行读取、固定字节读取。

   并没有找到一次读取两条数据的好方法。

   创建两个文件,分别存放用户名密码。

   技术分享图片技术分享图片

 

 

   测试脚本:

 1    #coding=utf-8
 2    from selenium import webdriver
 3    from selenium.common.exceptions import NoSuchElementException
 4    import unittest, time, os
 5    class Login(unittest.TestCase):
 6             def test_login(self):
 7                 source = open("D:\\test\\un.txt", "r") #用户名文件
 8                 un = source.readline() #读取用户名
 9                 source.close()
10                 source2 = open("D:\\test\\pw.txt", "r") #密码文件
11                 pw = source2.readline() #读取密码
12                 source2.close()
13                 driver=webdriver.Firefox()
14                 driver.get("http://www.baidu.com/")
15                 driver.maximize_window()
16                 driver.find_element_by_id("txtusername").clear()
17                 driver.find_element_by_id("txtusername").send_keys(un)
18                 driver.find_element_by_id("txtpassword").clear()
19                 driver.find_element_by_id("txtpassword").send_keys(pw)
20                 driver.find_element_by_id("userlogin").click()
21                 time.sleep(2)
22                 try:
23                       t = driver.find_element_by_xpath("//form/div[4]/div/div[1]/div[1]/div/a/img")
24                 except NoSuchElementException:
25                        assert 0 , u"登录失败,找不到左上角LOG"
26                 driver.close()

 

Selenium+python自动化21-TXT数据参数化

标签:ase   执行   driver   mon   技术分享   window   testcase   文件中   cep   

原文地址:https://www.cnblogs.com/jason89/p/9028147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!