selenium_login.py

import unittest
from selenium import webdriver class LoginTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window() cls.driver.get('http://pms.yuncesu12.cn/login')
# 用户名错误密码正确
def testlogin(self):
login_account = self.driver.find_element_by_name('account')
login_account.clear()
login_account.send_keys('墨')
# name = self.driver.find_element_by_xpath("//input[@class='layui-input']")
login_password = self.driver.find_element_by_name('password')
login_password.clear()
login_password.send_keys('')
login_button = self.driver.find_element_by_class_name('layui-btn')
login_button.click()
print('用户名或密码错误') @classmethod
def tearDownClass(cls):
# cls.driver.quit()
pass if __name__ == '__main__':
unittest.main(verbosity=2)
selenium_login1.py

import unittest
from selenium import webdriver class LoginTest1(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window() cls.driver.get('http://pms.yuncesu12.cn/login') # 用户名正确密码错误
def testlogin1(self):
login_account = self.driver.find_element_by_name('account')
login_account.clear()
login_account.send_keys('墨子')
# name = self.driver.find_element_by_xpath("//input[@class='layui-input']")
login_password = self.driver.find_element_by_name('password')
login_password.clear()
login_password.send_keys('')
login_button = self.driver.find_element_by_class_name('layui-btn')
login_button.click()
print('用户名或密码错误') @classmethod
def tearDownClass(cls):
# cls.driver.quit()
pass if __name__ == '__main__':
unittest.main(verbosity=2)
selenium_login2.py

import unittest
from selenium import webdriver class LoginTest2(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window() cls.driver.get('http://pms.yuncesu.cn/login') # 用户名密码都错误
def testlogin2(self):
login_account = self.driver.find_element_by_name('account')
login_account.clear()
login_account.send_keys('墨')
# name = self.driver.find_element_by_xpath("//input[@class='layui-input']")
login_password = self.driver.find_element_by_name('password')
login_password.clear()
login_password.send_keys('12346')
login_button = self.driver.find_element_by_class_name('layui-btn')
login_button.click()
print('用户名或密码错误') @classmethod
def tearDownClass(cls):
# cls.driver.quit()
pass if __name__ == '__main__':
unittest.main(verbosity=2)
selenium_login3.py

import unittest
from selenium import webdriver class LoginTest3(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window() cls.driver.get('http://pms.yuncesu12.cn/login') # 用户名正确密码为空
def testlogin3(self):
login_account = self.driver.find_element_by_name('account')
login_account.clear()
login_account.send_keys('')
# name = self.driver.find_element_by_xpath("//input[@class='layui-input']")
login_password = self.driver.find_element_by_name('password')
login_password.clear()
login_password.send_keys('')
login_button = self.driver.find_element_by_class_name('layui-btn')
login_button.click()
print('用户名或密码不能为空') @classmethod
def tearDownClass(cls):
# cls.driver.quit()
pass if __name__ == '__main__':
unittest.main(verbosity=2)
selenium_login4.py

import unittest
from selenium import webdriver class LoginTest4(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window() cls.driver.get('http://pms.yuncesu12.cn/login') # 用户名正确都正确
def testlogin4(self):
login_account = self.driver.find_element_by_name('account')
login_account.clear()
login_account.send_keys('墨子')
# name = self.driver.find_element_by_xpath("//input[@class='layui-input']")
login_password = self.driver.find_element_by_name('password')
login_password.clear()
login_password.send_keys('')
login_button = self.driver.find_element_by_class_name('layui-btn')
login_button.click()
print('登录成功!') @classmethod
def tearDownClass(cls):
# cls.driver.quit()
pass if __name__ == '__main__':
unittest.main(verbosity=2)
testloginsuites.py

from selenium_login import LoginTest
from selenium_login1 import LoginTest1
from selenium_login2 import LoginTest2
from selenium_login3 import LoginTest3
from selenium_login4 import LoginTest4
import unittest login_test = unittest.TestLoader().loadTestsFromTestCase(LoginTest)
login_test1 = unittest.TestLoader().loadTestsFromTestCase(LoginTest1)
login_test2 = unittest.TestLoader().loadTestsFromTestCase(LoginTest2)
login_test3 = unittest.TestLoader().loadTestsFromTestCase(LoginTest3)
login_test4 = unittest.TestLoader().loadTestsFromTestCase(LoginTest4) smoke_test = unittest.TestSuite([login_test,login_test1,login_test2 ,login_test3,login_test4]) if __name__ == '__main__':
unittest.TextTestRunner(verbosity=2).run(smoke_test)

python+selenium自动化测试之登录的更多相关文章

  1. python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍

    1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...

  2. Python+selenium自动化测试之浏览器基础操作

    **​​前言** 本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows.Linux 和 Macintosh上的 Internet ...

  3. Python&Selenium自动化测试之PO设计模式

    一.摘要 Page Object模式,后面简称PO,他是一种设计思想,在上一章节中,曾经列举了一些在编写自动化测试过程中随着代码量的增加导致的大量代码难以维护.难以扩展.可读性极差等灾难性的事件:那么 ...

  4. python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]

    背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...

  5. selenium自动化测试之整合测试报告

    selenium自动化测试之整合测试报告 标签(空格分隔): 整合报告 如下截图我们添加一个文件叫做:latest_report.py文件, import time import os import ...

  6. python selenium自动化点击页面链接测试

    python selenium自动化点击页面链接测试 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回 ...

  7. Selenium自动化测试之结果处理

    Selenium自动化测试之结果处理 一.断言 断言相当于性能测试中的检查点,常用断言种类很多,具体可以查看断言API:判断预期结果和实际结果是否一致,断言成功,程序继续处理,失败则终止运行,示例如下 ...

  8. Selenium自动化测试之数据驱动及用例管理

    Selenium自动化测试之数据驱动及用例管理 一.TestNg注解介绍 @Test:表示一个测试方法,在运行测试用例过程中,会自动运行@Test注解的方法. 例:

  9. Selenium自动化测试之基本控件使用

    Selenium自动化测试之基本控件使用 1.输入框input: 在Html中样式: <input id="username" type="text"&g ...

随机推荐

  1. Dlib笔记一:基本数据结构和基本操作

    编译了Dlib之后就开始想着怎么用起来,先从基本的数据类型说起吧,因为是图像,所以难免会跟OpenCV的数据类型比较.在Dlib中,图像是用二维阵列(array2d)或者矩阵(matrix)来表示的, ...

  2. CSS3新特性—过渡、转换

    过渡 转换 2D转换 2D转换包括四个方面:位移,缩放,旋转,倾斜 位移[让元素移动位置] transform: translate(100px,100px); 备注: 1. 如果只设置一个值,那么代 ...

  3. 2019.3.11 JavaScript课上笔记

    ---恢复内容开始--- 字面值写到左边 var  x= "1"; ++x .x++ // 都有隐式类型转换 x += 1; // 是字符串的拼接 === 判断引用的对象是不是同一 ...

  4. 《打造扛得住的MySQL数据库架构》第4章 MySQL数据库结构优化

    4-1 数据库结构优化介绍 良好的数据库逻辑设计和物理设计是数据库获得高性能的基础. 1.减少不必要的数据冗余. 2.尽量避免数据维护中出现更新,插入和删除异常. 插入异常:如果表中的某个实体随着另一 ...

  5. linux 离线安装mysql7或者8

    安装方式:官网下载压缩包进行安装 1.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-download ...

  6. 干货分享,FPGA硬件系统的设计技巧

    PGA的硬件设计不同于DSP和ARM系统,比较灵活和自由.只要设计好专用管脚的电路,通用I/O的连接可以自己定义.因此,FPGA的电路设计中会有一些特殊的技巧可以参考. 1. FPGA管脚兼容性设计 ...

  7. Animate.css 一款强大的预设css3动画库

    Animate.css是一个有趣的,跨浏览器的css3动画库.很值得我们在项目中引用. 用法 1.首先引入animate css文件 <head> <link rel="s ...

  8. tomcat启动极慢在linux生产环境

    在window环境下不会出现启动极慢的问题.   Tomcat启动极慢在生产环境,跟Weblogic一样   此外由于Weblogic创建域的时候使用的JDK是自带的jrockit,所以要解决WebL ...

  9. error: snap "electronic-wechat" has "install-snap" change in progress

    今天因为要使用 wechat ,但是因为 wechat 并没有官方的 Ubuntu 版本,幸好有大神出了 electronic-wechat ,可以直接在应用商店中搜到,然后直接安装,也可以命令行安装 ...

  10. 分布式场景下Kafka消息顺序性的思考

    如果业务中,对于kafka发送消息异步消费的场景,在业务上需要实现在消费时实现顺序消费, 利用kafka在partition内消息有序的特点,消息消费时的有序性. 1.在发送消息时,通过指定parti ...