Python之selenium库使用方法---用Excel自动化测试登录
前言
Python实现自动化测试登陆系统。举一反三,相当于用批量的用户名密码测试一个网站是否存在这些用户。
第一模块:python用自动火狐浏览器打开某网站
第二模块:测试用户登录系统
第三模块:python中xlrd(读excel)、xlwt(写excel)的俩个库进行批量测试用户登陆系统
提示:测试需谨慎,安全第一位
一、python自动用火狐浏览器打开某网站
这里首先在eclipse中安装PyDev插件,这篇文章中有安装步骤或者使用PyCharm也是不错的选择
安装成功之后,创建一个项目,在项目中添加一个.py文件,输入以下代码
#coding=gbk
from selenium import webdriver #引入包
driver=webdriver.Firefox()#打开浏览器
driver.set_window_size(540, 900,12)#设置浏览器大小
first_url="https:www.baidu.com";#设置变量 第一个页面
print("now access%s "%first_url)#打印输出
driver.get(first_url)#打开第一个页面
second_url="https://news.baidu.com"#设置第二个变量 第二页页面
print("now access%s"%second_url)#输出打印
driver.get(second_url);#打开第二个页面
print("now back%s"%second_url)#输出打印
driver.back()#页面后退
print("now forward%s"%second_url)
driver.forward()#页面跳转第二个页面
driver.refresh()#页面刷新
driver.quit()#页面退出
然后执行(run)此文件,就会自动启动浏览器,输出以下结果

二、测试用户登录系统
开始前想要做的准备
把拥有登录测试功能Javaweb项目启动,并且保证网站能够访问,例如下图就是成功了。

python中添加代码,测试
在项目中添加.py文件,并输入以下内容,其中网站地址为自己项目登录的网站地址
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("http://localhost:8080/testjsp_test/jsps/login.jsp")
name=driver.find_element_by_name('username')
name.send_keys('zhangsan')
values=name.get_attribute('value')
print(values)
pwd=driver.find_element_by_name('pwd')
pwd.send_keys('123456')
pwdvalue=pwd.get_attribute('value')
print(pwdvalue)
from1=driver.find_element_by_id('sub')
from1.click()
ss=driver.find_element_by_id('msg').get_attribute('textContent')
print(ss)
启动此文件,它会自动打开浏览器,并输入用户名、密码,按下提交,这里会提示我输入错误,因为我输入的用户名、密码不正确


三、python进行批量测试用户登陆系统
安装插件
这里需要下载python中xlrd(读excel)、xlwt(写excel)的俩个库,直接在cmd中输入以下命令就可以

批量测试
这里需要在创建一个excel文件,我的在D盘下名字为abc.xlsx,并在其中输入批量的用户名、密码,如图

python中代码其中workbook中文件目录是自己创建excel文件的目录
import xlrd
'import xlwt'
import time
from selenium import webdriver
workbook = xlrd.open_workbook(r'D:\abc.xlsx')
sheet=workbook.sheets()[0]
nrows=sheet.nrows
for i in range(1,nrows):
driver=webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://localhost:8080/testjsp_test/jsps/login.jsp")
time.sleep(5)
name=driver.find_element_by_name('username')
pwd=driver.find_element_by_name('pwd')
from1=driver.find_element_by_id('sub')
ss=driver.find_element_by_id('msg')
name.send_keys(sheet.row_values(i)[0])
values=name.get_attribute('value')
print(values)
pwd.send_keys(sheet.row_values(i)[1])
pwdvalue=pwd.get_attribute('value')
print(pwdvalue)
from1.click()
time.sleep(3)
msg=ss.get_attribute('textContent')
print(msg)
driver.quit()
启动此文件,会自动打开此网站,并自动输入用户名、密码,不断的按顺序测试,直到登陆成功。

该处暂未实现excel的写,大家可以自行百度。
总结
这只是python的一小部分,感觉python做自动化测试特别的好用,但是我不是特别懂python的语法,而且其中的登录测试可以在一些上线的网站也可以用,只有你想不到的,没有python做不到的。
更多推荐
所有评论(0)