#!/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登录的更多相关文章
-
Python实战之Selenium自动化测试web登录(2)
#!/usr/bin/env python3 # -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver ...
-
Python实战之Selenium自动化测试web刷新FW
需求:将手工登录,手工刷新服务器的FW转化为Python+Selenium实现自动化操作. 1.创建用户表,实现数据与脚本分离.需要读取模块. 2.自动化刷新FW. 不说话,直接上代码: 1userd ...
-
《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...
-
《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)
1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...
-
python selenium 自动化测试web
如何使用python完成自动化测试web页面呢?首选selenium 那基于python的selenium如何使用,下面看一段测试案例: 基于python的selenium 安装方法: pip i ...
-
python实战项目 — selenium登陆豆瓣
利用selenium 模仿浏览器,登陆豆瓣 重点: 1. 要设置好 chromedriver配置与使用, chromedriver.exe 和 Chrome的浏览器版本要对应, http://chro ...
-
使用python+selenium对web进行自动化测试
想用python代码,对web网页进行自动化测试 web自动化测试和手动测试的区别: 手动测试:通过手动去对网页的功能进行点点点 web自动化:可以通过代码,自动对网页点点点 首先,将python+s ...
-
第一个python&;selenium自动化测试实战项目
说明:本项目采用流程控制思想,未引用unittest&pytest等单元测试框架 一.项目介绍 目的 测试某官方网站登录功能模块可以正常使用 用例 1.输入格式正确的用户名和正确的密码,验证是 ...
-
《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
随机推荐
-
NB-IoT的相关资料整理(基本概念,技术优势,典型案例和当前的进展)
人与人之间的通讯规模已近天花板,物与物的则刚刚进入增长快车道.随着可穿戴.车联网.智能抄表等新兴市场的开启,工业4.0.智慧城市.智慧农业等理念照进现实,万物互联的时代正加速到来. 一 ...
-
百度在线笔试编程测试题(Python):整数分解成素数的积
编程测试题: 输入一个正整数将其分解成素数的乘积,输入格式连续输入m个数,然后将这m个数分别分解,如 输入: 2 10 20 输出: 2 5 2 2 5 Python code: def primes ...
-
读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots
读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots 以下为异常详细信息: Exception in thread &q ...
-
使用secureCRT连接VMware-Ubuntukylin虚拟机
使用SecureCRT连接VMware时总是提醒主机拒绝连接.这时可以使用sudo apt-get install openssh-server openssh-client,在主机上安装ssh. 安 ...
-
使用sui实现的选择控件【性别、日期、省市级联】
使用sui mobile做的选择控件,其中sm.js有修改,增加自定义api,详情请看index.html的注释,不多说了,上代码 <!DOCTYPE html> <html> ...
-
转载:C#实现接口回调
通常情况下,我们创建一个对象,并马上直接去使用它的方法.然而,在有些情况下,希望能在某个场景出现后或条件满足时才调用此对象的方法.回调就可以解决这个“延迟调用对象方法”的问题.这个被调用方法的对象称为 ...
-
HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,short col1,int row1,short col2, int row2)
public HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int ...
-
Advertising.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, ...
-
Python交互图表可视化Bokeh:7. 工具栏
ToolBar工具栏设置 ① 位置设置② 移动.放大缩小.存储.刷新③ 选择④ 提示框.十字线 1. 位置设置 import numpy as np import pandas as pd impor ...
-
Qt+数据库发布后无法打开数据库
在main.cpp中: QApplication a(argc, argv); QString strLibPath(QDir::toNativeSeparators(QApplication::ap ...