前言

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做不到的。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐