写在前面:本人测试小白,自动化更是还没入门,业务逻辑也是为所欲为而分,如有高手路过,还望指点一二,不胜感激。php
第一部分python
==================================================================================web
1.先对各业务进行封。chrome
browser模块负责浏览器以及登陆的输入的操做;浏览器
controlBussiness模块负责登陆成功或失败与否的判断;测试
excleReader模块从excle文件中读取相关数据;.net
test模块负责测试用例。如图:命令行
2.先实现一个自动登陆(本人用的是方维p2p相关项目),代码在browser模块中实现code
from selenium import webdriver from excleReader.ExcleReader import ExcleReader class Browser: def __init__(self,cUrl="http://192.168.201.135/fw/m.php"): self.cUrl = cUrl self.chromeB = webdriver.Chrome() def inputUrl(self): self.chromeB.get(self.cUrl) def inputUser(self): self.chromeB.find_element_by_name("adm_name").send_keys("admin") self.chromeB.find_element_by_name("adm_password").send_keys("admin") self.chromeB.find_element_by_name("adm_verify").send_keys("888") self.chromeB.find_element_by_id("login_btn").click()
3.在test模块进行登陆测试blog
from browser.Browser import Browser class Test: browser = Browser() browser.inputUrl() browser.inputUser()
4.这样就能实现一个自动登陆的脚本
第二部分
==================================================================================
下面实现从excle文件中读取登陆用户名和密码
1.先下载好xlrd包并解压,命令行,进入setup.py所在的目录,运行setup.py install。 具体安装:https://my.oschina.net/bysu/blog/783887
2.excleReader模块的代码
import xlrd #导入xlrd包 class ExcleReader: def __init__(self,strPath="c:\\data.xlsx"): self.strPath = strPath def readExcle(self,sheet,row,col): workEx = xlrd.open_workbook(self.strPath) sheetEx = workEx.sheet_by_index(sheet) cellValue = sheetEx.cell_value(row,col) return cellValue def getValue(self,sheet,row,col): return self.readExcle(sheet,row,col)
3.修改browser模块的代码
from selenium import webdriver from excleReader.ExcleReader import ExcleReader class Browser: def __init__(self,cUrl="http://192.168.201.135/fw/m.php"): self.cUrl = cUrl self.chromeB = webdriver.Chrome() def inputUrl(self): self.chromeB.get(self.cUrl) def inputUser(self,sheet,row,col): # self.chromeB.find_element_by_name("adm_name").send_keys("admin") # self.chromeB.find_element_by_name("adm_password").send_keys("admin") self.chromeB.find_element_by_name("adm_name").send_keys(ExcleReader().getValue(sheet,row,col)) self.chromeB.find_element_by_name("adm_password").send_keys(ExcleReader().getValue(sheet,row,col+1)) #在用户名的下一列 self.chromeB.find_element_by_name("adm_verify").send_keys("888") self.chromeB.find_element_by_id("login_btn").click()
4.在test模块进行登陆测试
from browser.Browser import Browser class Test: browser = Browser() browser.inputUrl() browser.inputUser(0,1,0) #读取excle表格中第一个表的第2行,第1列
5.这样就能实现一个从excle表格中读取数据并自动登陆的脚本
第三部分
================================================================================
1.到controlBussiness模块实现登陆状况的判断
a.登陆成功过
未完待续======