自动化用例代码

用例的方法类

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
class TG():#天龟官网
    def __init__(self,driver):
        self.driver=driver
    def denglu(self,name,password):
        u'''登录方法'''
        '''点击登录'''
        self.driver.find_element("css",".opt-link.login").click()
        '''输入用户名'''
        self.driver.find_element("css",".uname").send_keys(name)
        '''输入密码'''
        self.driver.find_element("css",".pwd").send_keys(password)
        '''点击登录'''
        self.driver.find_element("css",".loginbtn").click()
        '''点击关闭弹窗按钮'''
        # self.driver.find_element("css",".close").click()
    def zhuce(self,name,password,strname):
         u'''注册方法'''
         '''点击注册'''
         self.driver.find_element("css",".opt-link.register").click()
         '''输入用户名'''
         self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[3]/div/input[1]").send_keys(name)
         '''输入密码'''
         self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[3]/div/input[2]").send_keys(password)
         '''选择地区 '''
         self.driver.find_element("css",".type").click()
         '''定位地区'''
         self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[3]/div/select/option[5]").click()
         '''点击注册'''
         self.driver.find_element("css",".registerbtn").click()
    def shouye(self):
        u'''首页'''
        self.driver.find_element_by_link_text("首页").click()
    def mianfeike(self):
        u'''免费课'''
        self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/ul/li[2]/a").click()
        m=self.driver.find_element_by_xpath(".//*[@id='record']/div/div/p[1]").text
        return m
    def gongkaike(self):
        u'''公开课'''
        self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/ul/li[3]/a").click()
        g=self.driver.find_element_by_xpath(".//*[@id='open']/div/div[1]/p[1]").text
        return g
    def zhiboke(self):
        u'''直播课'''
        self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/ul/li[4]/a").click()
        z=self.driver.find_element_by_xpath(".//*[@id='live']/div/div/p[1]").text
        return z
    def shuatiku(self):
        u'''刷题库'''
        self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/ul/li[5]/a").click()
        s=self.driver.find_element_by_xpath(".//*[@id='ques']/div/div/p[1]").text
        return s
    def appxiazai(self):
        u'''app下载'''
        self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/ul/li[6]/a").click()
        self.driver.find_element_by_xpath(".//*[@id='app']/div[1]/div[5]/span/a").click()
    def lunbotiaozhuan(self,name,address):
        u'''公考救生圈计划_轮播跳转'''
        self.driver.find_element_by_xpath(".//*[@title='公考救生圈计划']").click()
        time.sleep(5)
        #回到上一页面
        self.driver.switch_to.window(self.driver.window_handles[0])
        print(self.driver.title)

调用用例的执行类

#coding=utf-8
from  selenium import webdriver
import unittest
from  untitled.python_jb.yongli import TG
from untitled.python_jb.conment import HTMLTestRunner
import time
class Tgyl(unittest.TestCase):
    def setUp(self):
        self.driver=webdriver.Firefox()
        self.driver.get("http://www.tianguiedu.com/")
    def test_01(self):#登录
        u'''登录方法'''
        name="15210482381"
        password="654321"
        TG(self.driver).denglu(name,password)
    def test_02(self):#注册
        u'''注册方法'''
        name="15210482389"
        password="123456"
        strname="国考"
        TG(self.driver).zhuce(name,password,strname)
    def test_03(self):#首页
        u'''首页'''
        TG(self.driver).shouye()
    def test_04(self):#免费课
        u'''免费课'''
        m=TG(self.driver).mianfeike()
        print(m)
    def test_05(self):#公开课
        u'''公开课'''
        gk=TG(self.driver).gongkaike()
      #  print(gk)
        #断言
        self.assertEqual(gk,"公开课")
    def test_06(self):#直播课
        u'''直播课'''
        g=TG(self.driver).zhiboke()
        print(g)
    def test_07(self):#刷题库
       u'''刷题库'''
       s= TG(self.driver).shuatiku()
       print(s)
    def test_08(self):#app下载
        u'''app下载'''
        TG(self.driver).appxiazai()
    def test_09(self):#“公考救生圈计划”轮播图跳转
        u'''公考救生圈计划_轮播跳转'''
        name="13260151080"
        address="北京"
        TG(self.driver).lunbotiaozhuan(name,address)

    def tearDown(self):
        self.driver.quit()
if __name__=="__main__":
        #用例地址
    test_dir="c:\\users\\Administrator\\PycharmProjects\\untitled\\python_jb"
    #discover方法加载多个用例集合
    discover=unittest.defaultTestLoader.discover(start_dir=test_dir,
                                                 pattern="yonglidy.py",
                                                 top_level_dir=None)
         #当前时间
    nowtimes=time.strftime("%Y_%m_%d %H_%M_%S")
    #放置生成的html文件的地址
    reportpath="c:\\users\\Administrator\\PycharmProjects\\untitled\\python_jb\\report\\"+nowtimes+"resut.html"
    fp=open(reportpath,"wb")
    runner= HTMLTestRunner.HTMLTestRunner(stream=fp,
                                          verbosity=2,
                                          title=u'天龟的测试报告',
                                          description=u'用例执行情况:',
                                          retry=2)
    runner.run(discover)
    fp.close()

执行结果
这里写图片描述
生成报告
这里写图片描述

猜你喜欢

转载自blog.csdn.net/yxx_bk/article/details/80940195