一、安装与配置
1、下载并安装python3
2、配置python环境变量,在path里面添加python安装路径,如下图
3、安装所需unittest,selenium
pip install unittest
pip install selenium
4、下载python3对应的HTMLTestRunner.py,放到python安装目录的Lib下,一定要放到Lib下,否则测试报告无法生成。
5、IDEA中添加python
File->setting->plugins,按如下图,安装python,安装后重启IDEA
6、创建项目
File->new->Project,创建一个空白的python项目
二、开始写用例
from selenium import webdriver
import time
import unittest
import HTMLTestRunner
#用户登录用例测试
class LoginTest (unittest.TestCase):
@classmethod
def setUpClass(cls):
print(u"开始测试")
cls.driver=webdriver.Chrome(r'D:\python\Python37\chromedriver.exe')
url=r'XXXXXXX' #测试地址
cls.driver.get(url)
@classmethod
def tearDownClass(cls):
print(u"结束测试")
def login(self,username,password):
self.driver.find_element_by_name('j_username').clear()
self.driver.find_element_by_name('j_password').clear()
self.driver.find_element_by_name('j_username').send_keys(username)
self.driver.find_element_by_name('j_password').send_keys(password)
self.driver.find_element_by_xpath('//*[@id="loginform"]/ul/li[3]/input').click()
def test_01_login_success(self):
print("用例1:用户名、密码")
time.sleep(2)
self.login("cjj","123456")
time.sleep(2)
link=self.driver.find_element_by_link_text(u"退出")
self.assertEqual(link.text,u"退出")
link.click()
print ("测试通过进行下一用例测试")
def test_02_login_fail(self):
print("用例2:用户名、密码错误")
self.login("222","111")
time.sleep(3)
warn=self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/fieldset/p')
self.assertEqual(warn.text,u"用户名或密码错误!")
print(warn.text)
print ("测试2通过进行下一用例测试")
time.sleep(5)
def test_03_login_fail(self):
print("用例3:密码为空")
self.login("111","")
time.sleep(2)
warn=self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/fieldset/p')
self.assertEqual(warn.text,u'密码不能为空!')
print ("测试3通过进行下一用例测试")
time.sleep(5)
def test_04_login_fail(self):
print("用例4:用户名为空")
self.login("","")
time.sleep(2)
warn=self.driver.find_element_by_xpath('/html/body/div/div[2]/div[2]/fieldset/p')
self.assertEqual(warn.text,u'帐号不能为空!')
print ("测试4通过进行下一用例测试")
if __name__=="__main__":
suite=unittest.TestSuite()
#只运行一个用例,如果运行多个,可使用addTest添加
suite.addTest(LoginTest("test_01_login_success"))
fp=open(r"D:\study\python\report\testreport.html",'wb')
runner=HTMLTestRunner.HTMLTestRunner(
stream=fp,
title="标题",
description="描述"
)
runner.run(suite)
fp.close()