Python实战之Selenium自动化测试web登录

时间:2021-04-24 02:16:34
#!/usr/bin/env python3
# -*- coding:utf-8 -*- from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
class LoginTest(object): def __init__(self):
self.url = ''
self.uname = ''
self.pwd = ''
self.userEle = ''
self.pwdEle = ''
self.loginEle = ''
self.status = ''
self.statusCode = '' def openUrl(self):
self.driver = webdriver.Firefox()
self.driver.get(self.url)
time.sleep(10) def findLoginEle(self):
# id = "user"
self.userbTn = self.driver.find_element_by_id(self.userEle)
self.pwdbTn = self.driver.find_element_by_id(self.pwdEle)
self.loginbTn = self.driver.find_element_by_id(self.loginEle) # print(self.userId,self.pwdId,self.loginId) def logIn(self):
self.userbTn.clear()
self.userbTn.send_keys(self.uname)
self.pwdbTn.clear()
self.pwdbTn.send_keys(self.pwd)
self.loginbTn.click()
time.sleep(30) def checkStatus(self):
try:
self.statusbTn = self.driver.find_element_by_id(self.status)
if self.statusbTn.text == self.statusCode:
print(self.statusCode)
return False
except:
print("Pass")
return True def quitBrowse(self):
self.driver.quit() if __name__ == '__main__':
test1 = LoginTest()
userInfo = {
'uname':['Administrator','USERID'],
'pwd':['Aa1','PASSW0RD']
}
test1.url = 'https://10.245.53.64/designs/imm/index.php'
for uname,pwd in zip(userInfo['uname'],userInfo['pwd']):
print(uname,pwd)
test1.uname = uname
test1.pwd = pwd
test1.userEle = 'user'
test1.pwdEle = 'password'
test1.loginEle = 'btnLogin_label'
test1.status = 'gblMessageDlgID_title'
test1.statusCode = 'Login failed.' test1.openUrl()
test1.findLoginEle()
test1.logIn()
if test1.checkStatus() == False:
test1.quitBrowse()

Python实战之Selenium自动化测试web登录的更多相关文章

  1. Python实战之Selenium自动化测试web登录(2)

    #!/usr/bin/env python3 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver ...

  2. Python实战之Selenium自动化测试web刷新FW

    需求:将手工登录,手工刷新服务器的FW转化为Python+Selenium实现自动化操作. 1.创建用户表,实现数据与脚本分离.需要读取模块. 2.自动化刷新FW. 不说话,直接上代码: 1userd ...

  3. 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)

    1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...

  4. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

  5. python selenium 自动化测试web

    如何使用python完成自动化测试web页面呢?首选selenium   那基于python的selenium如何使用,下面看一段测试案例: 基于python的selenium 安装方法: pip i ...

  6. python实战项目 — selenium登陆豆瓣

    利用selenium 模仿浏览器,登陆豆瓣 重点: 1. 要设置好 chromedriver配置与使用, chromedriver.exe 和 Chrome的浏览器版本要对应, http://chro ...

  7. 使用python+selenium对web进行自动化测试

    想用python代码,对web网页进行自动化测试 web自动化测试和手动测试的区别: 手动测试:通过手动去对网页的功能进行点点点 web自动化:可以通过代码,自动对网页点点点 首先,将python+s ...

  8. 第一个python&selenium自动化测试实战项目

    说明:本项目采用流程控制思想,未引用unittest&pytest等单元测试框架 一.项目介绍 目的 测试某官方网站登录功能模块可以正常使用 用例 1.输入格式正确的用户名和正确的密码,验证是 ...

  9. 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门

    第1章  Selenium自动化测试框架入门 1.1  Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...

随机推荐

  1. NB-IoT的相关资料整理(基本概念,技术优势,典型案例和当前的进展)

            人与人之间的通讯规模已近天花板,物与物的则刚刚进入增长快车道.随着可穿戴.车联网.智能抄表等新兴市场的开启,工业4.0.智慧城市.智慧农业等理念照进现实,万物互联的时代正加速到来. 一 ...

  2. 百度在线笔试编程测试题(Python):整数分解成素数的积

    编程测试题: 输入一个正整数将其分解成素数的乘积,输入格式连续输入m个数,然后将这m个数分别分解,如 输入: 2 10 20 输出: 2 5 2 2 5 Python code: def primes ...

  3. 读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots

    读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots   以下为异常详细信息: Exception in thread &q ...

  4. 使用secureCRT连接VMware-Ubuntukylin虚拟机

    使用SecureCRT连接VMware时总是提醒主机拒绝连接.这时可以使用sudo apt-get install openssh-server openssh-client,在主机上安装ssh. 安 ...

  5. 使用sui实现的选择控件【性别、日期、省市级联】

    使用sui mobile做的选择控件,其中sm.js有修改,增加自定义api,详情请看index.html的注释,不多说了,上代码 <!DOCTYPE html> <html> ...

  6. 转载:C&num;实现接口回调

    通常情况下,我们创建一个对象,并马上直接去使用它的方法.然而,在有些情况下,希望能在某个场景出现后或条件满足时才调用此对象的方法.回调就可以解决这个“延迟调用对象方法”的问题.这个被调用方法的对象称为 ...

  7. HSSFClientAnchor&lpar;int dx1&comma;int dy1&comma;int dx2&comma;int dy2&comma;short col1&comma;int row1&comma;short col2&comma; int row2&rpar;

      public HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int  ...

  8. Advertising&period;csv

    TV,radio,newspaper,sales1,230.1,37.8,69.2,22.12,44.5,39.3,45.1,10.43,17.2,45.9,69.3,9.34,151.5,41.3, ...

  9. Python交互图表可视化Bokeh:7&period; 工具栏

    ToolBar工具栏设置 ① 位置设置② 移动.放大缩小.存储.刷新③ 选择④ 提示框.十字线 1. 位置设置 import numpy as np import pandas as pd impor ...

  10. Qt&plus;数据库发布后无法打开数据库

    在main.cpp中: QApplication a(argc, argv); QString strLibPath(QDir::toNativeSeparators(QApplication::ap ...