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. dmidecode 硬件

    dmidecode -t Memory   #查内存 Maximum Capacity: 4 GB  #最大4G         Number Of Devices: 2   #2个插槽 服务器到底能 ...

  2. 吴裕雄--天生自然MySQL学习笔记:MySQL 连接的使用

    使用 MySQL 的 JOIN 在两个或多个表中查询数据. 可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询. JOIN 按照功能大致分为如 ...

  3. 用CNN及MLP等方法识别minist数据集

    用CNN及MLP等方法识别minist数据集 2017年02月13日 21:13:09 hnsywangxin 阅读数:1124更多 个人分类: 深度学习.keras.tensorflow.cnn   ...

  4. go语言实现leetcode-242

    package main import ( "fmt" "reflect" ) func isAnagram(s string, t string) bool ...

  5. 本地搭建3节点kubernetes

    kubernetes本地搭建版本选择 CentOS Linux release 7.7.1908 kubernetesVersion: v1.17.0 weave-kube:2.6.0 ceph/ce ...

  6. python+Sqlite+Dataframe打造金融股票数据结构

    5. 本地数据库 很简单的用本地Sqlite查找股票数据. DataSource类,返回的是Dataframe物件.这个Dataframe物件,在之后的业务,如计算股票指标,还需要特别处理. impo ...

  7. linux的/dev内容介绍

    http://www.cnblogs.com/lidabo/p/4505360.html 这个结合那个linux的终端介绍 https://zhidao.baidu.com/question/1742 ...

  8. Python语言学习:homework2

    三级菜单 # Author:Crystal data = { '北京':{ "昌平":{ "沙河":["oldbay","test ...

  9. Java web:html+css(2020.1.5)

    html 1.font-size中1em=16px 2.html中font不要使用 3.链接标签<a></a>禁止下划线样式设置 <style> a{ color: ...

  10. bzoj3218 a+b Problem(最小割+主席树优化建边)

    由于6.22博主要学测,大半时间学文化课,近期刷题量&写题解的数量会急剧下降. 这题出得挺经典的,首先一眼最小割,考虑朴素的做法:与S联通表示白色,与T联通表示黑色,S向i连流量为w[i]的边 ...