写在前面:本人测试小白,自动化更是还没入门,业务逻辑也是随心所欲而分,若有高手路过,还望指点一二,不胜感激。
第一部分
==================================================================================
1.先对各业务进行封。
browser模块负责浏览器以及登录的输入的操作;
controlBussiness模块负责登录成功或失败与否的判断;
excleReader模块从excle文件中读取相关数据;
test模块负责测试用例。如图:
2.先实现一个自动登录(本人用的是方维p2p相关项目),代码在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):
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模块进行登录测试
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.登录成功过
未完待续======