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. sqli-labs注入lesson3-4闯关秘籍

    ·lesson 3 与第一二关不同的是,这一关是基于错误的get单引号变形字符型注入 要使用 ') 进行闭合  (ps:博主自己理解为字符型注入,是不过是需要加括号进行闭合,适用于博主自己的方便记忆的 ...

  2. AI 领域与概述

    概述 数据分析行业主要的职业发展. 业务:业务分析师.数据产品经理.产品总监 技术:算法师.架构师.研发经理.研发总监 美工:BI工程师 人工智能,是数据分析的子集.人工智能主要包括 语音识别 自然语 ...

  3. vue 动画框架Animate.css @keyframes

    <script src="vue.js"></script> <link rel="stylesheet" href=" ...

  4. Thread--生产者消费者

    2个生产者,2个消费者,库存容量2 package p_c_allWait.copy; import java.util.LinkedList; import java.util.List; publ ...

  5. 拷贝构造函数[c++]

    拷贝构造函数何时会被调用? 1. 对象以值传递的方式传入函数参数 2.对象以值传递的方式从函数返回 3.对象需要通过另外一个对象进行初始化 下面我们来看代码: //#include <iostr ...

  6. 1.where子句的优化

    不需要在牺牲可读性的情况下重写sql,因为mysql会自动进行类似的优化. 1.去掉无用的括号 ((a AND b) AND c OR (((a AND b) AND (c AND d)))) -&g ...

  7. 二、提高期(Upping the Ante)

    二.提高期(Upping the Ante) Upping the Ante?这可是第四阶段的词.没办法,Greg Thomson用这个词代表第二阶段,看着喜欢,继续沿用. 经过两三个月的“图象+声音 ...

  8. JavaSE--【JAVA】unicode为12288字符

    转载:http://blog.csdn.net/zfpigpig/article/details/8186470 今天做一个导入数据功能时发现一个问题,就是一个unicode为12288的字符显示为空 ...

  9. altium designer 画板 电子元器件的名称不能集体修改

    今天在画板子的时候,遇到一个问题,就是发现电子元器件的名字太大了,想把他们集体都改小一点,方便布局,结果修改的时候却发现高度可以改,宽度改不了,(集体改的话,改不了,但是可以单独改,只是单独改,工程量 ...

  10. AtCoder Beginner Contest 129

    ABCD 签到(A.B.C过水已隐藏) #include<bits/stdc++.h> using namespace std; ; int n,m,ans,f1[N][N],f2[N][ ...