第一个python+selenium自动化测试脚本(python3)
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/01/21 16:34
# @Author : huangpeng
# @Site :
# @File : Testin.py
# @Software: PyCharm
import unittest
import time
import sys
import HTMLTestRunner #python3
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素
from selenium.webdriver.support import expected_conditions as EC # #该模块包含一些判断条件,比如用来判断元素是否存在
from selenium.webdriver.common.by import By
from time import sleep
class Test(unittest.TestCase):
def setUp(self):
print ("----------SetUp -----\n")
def tearDown(self):
print ("-----------TearDown----\n")
def test_login(self):
browser.get(url)
print('\n'+(time.strftime('%H%M%S')), '登录 ')
print((time.strftime('%H%M%S')) , '输入账户')
browser.find_element_by_id("email").send_keys ("183********")
time.sleep(1 )
print((time.strftime('%H%M%S')) ,'输入密码')
browser.find_element_by_id("pwd").send_keys("************")
time.sleep(1)
print((time.strftime('%H%M%S')), '执行登录')
browser.find_element_by_id("submitBtn").click()
time.sleep(2)
#断言
t =browser.find_element_by_xpath("/html/body/header/nav/div[1]/div[2]/div/ul[2]/li/a")
print((time.strftime('%H%M%S')),'登录成功后首页会显示:{}'.format(t.text))
self.assertEqual(t.text, u'立即进入')
time.sleep(3)
def test_manage(self):
print(('\n'+time.strftime('%H%M%S')) , '进入BUG管理')
browser.find_element_by_xpath("/html/body/section[1]/div[1]/div[3]/div[1]/a").click()
time.sleep(3)
#断言
t =browser.find_element_by_xpath("/html/body/div[1]/div[3]/div/div/div[3]/p/b")
print((time.strftime('%H%M%S')),'登录成功后首页会显示:{}'.format(t.text))
self.assertEqual(t.text, u'项目成员')
time.sleep(1)
def test_list(self):
print((time.strftime('%H%M%S')) , '进入BUG列表')
browser.find_element_by_xpath("/html/body/div[1]/div[2]/ul/li[2]/a/i").click()
time.sleep(2)
#断言
t =browser.find_element_by_xpath("/html/body/div[1]/div[3]/div/div[1]/div[1]/div/span")
print((time.strftime('%H%M%S')),'登录成功后首页会显示:{}'.format(t.text))
self.assertEqual(t.text, u'过滤器')
time.sleep(5
browser.close()
browser.quit()
if __name__ == '__main__':
url = "https://bug.testin.cn/index.htm#/defects/"
browser = webdriver.Firefox()
suite = unittest.TestSuite()
suite.addTest(Test('test_login'))
suite.addTest(Test('test_manage'))
suite.addTest(Test('test_list'))
now=time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime())
filename = "_ReportCase.html"
print('run version {}'.format(sys.version))
fp =open(now+filename,'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u"自动化测试报告",description=u"TestCase Report")
runner.run(suite)
fp.close()