(3)、读取字典
userconfig.py # coding:utf-8 def username_password(): config = {"username": "CJOKER", "password": "123456"} return config login.py # coding:utf-8 from time import sleep from selenium import webdriver # 从selenium中引入webdriver import userconfig # 引入userconfig文件 Data = userconfig.username_password() un = Data["username"] pw = Data["password"] def login_mantis_by_txt(): driver = webdriver.Firefox() # 选择打开的浏览器 driver.maximize_window() # 浏览器窗口最大化 driver.implicitly_wait(3) # 隐式等待 driver.get("http://192.168.1.201/mantisbt-1.2.19/login_page.php") # 获取URL,打开页面 sleep(1) # 直接等待 username_input = driver.find_element_by_xpath("html/body/div[3]/form/table/tbody/tr[2]/td[2]/input") # 获取输入账号框 username_input.send_keys(un) # 输入账号 sleep(1) password_input = driver.find_element_by_xpath("html/body/div[3]/form/table/tbody/tr[3]/td[2]/input") # 获取输入密码框 password_input.send_keys(pw) # 输入密码 sleep(1) login_button = driver.find_element_by_xpath("html/body/div[3]/form/table/tbody/tr[6]/td/input") # 获取登录按钮 login_button.click() # 点击登录按钮 sleep(3) driver.quit() # 退出浏览器 |
上面的代码实现了将账号密码放在一个字典内,再去调用,进行登录操作。
(4)、csv文件
# coding:utf-8 import os # 引入os模块 import csv # 引入csv包 from time import sleep # 引入sleep方法 from selenium import webdriver # 从selenium中引入webdriver list_username = [] list_password = [] data = csv.reader(file('G:\\joker_study\\userconfig.csv', 'rb')) # 获取每列数据 for user in data: print user[0] # 获取第一列中从上往下的数据 list_username.append(user[0]) # 将每次读取的字符串加入到数组中 print user[1] # 获取第二列中从上往下的数据 list_password.append(user[1]) # 将每次读取的字符串加入到数组中 def login_mantis_by_csv(): for i in range(len(list_username)): driver = webdriver.Firefox() # 选择打开的浏览器 driver.maximize_window() # 浏览器窗口最大化 driver.implicitly_wait(3) # 隐式等待 driver.get("http://192.168.1.201/mantisbt-1.2.19/login_page.php") # 获取URL,打开页面 sleep(1) # 直接等待 username_input = driver.find_element_by_xpath("html/body/div[3]/form/table/tbody/tr[2]/td[2]/input") # 获取输入账号框 username_input.send_keys(str(list_username[i])) # 输入账号 sleep(1) password_input = driver.find_element_by_xpath("html/body/div[3]/form/table/tbody/tr[3]/td[2]/input") # 获取输入密码框 password_input.send_keys(str(list_password)) # 输入密码 sleep(1) login_button = driver.find_element_by_xpath("html/body/div[3]/form/table/tbody/tr[6]/td/input") # 获取登录按钮 login_button.click() # 点击登录按钮 sleep(3) driver.quit() # 退出浏览器 |
上 面的代码实现了将账号密码分别存在一个CSV表格中,通过csv.reader将每列都读取出来,user[0]第一列,user[1]第二列,一次类 推。需要注意的是,要讲CSV文件打开的格式和工具格式保持一致:在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编 码方式为utf-8、Unicode等编码可能就会出现文件乱码的情况。
4、关键字驱动
采用EXCEL或者QTP及robot framework等工具大部分都是以关键字驱动来实现自动化测试,这种方式由于只需要关注"我要做什么(命令)?对谁做(对象)?怎么做(值)?",目前还没有去采用这种方式去写作脚本,等学习了robot framework或者用到这种方式的时候,再记录补充下吧。
例如这种EXCEL表格(网上随意复制过来)中所示:
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。