使用IDEA进行 python3+unittest+selenium+ HTMLTestRunner自动化测试

一、安装与配置

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()

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值