准备工作

公用的lib启动文件

  • 用于打开浏览器以及保存登录状态
from hyrobot.common import *
from selenium import webdriver
from time import sleep


def open_browser():
    wd = webdriver.Chrome()
    wd.implicitly_wait(5)

    wd.get('http://127.0.0.1/mgr/sign.html')
    // 保存登录状态
    GSTORE['get_glob_web'] = wd
    return wd


def login_byhy(wd):
    # 根据 ID 选择元素,并且输入字符串
    wd.find_element_by_id('username').send_keys('byhy')
    wd.find_element_by_id('password').send_keys('88888888')

    # 根据标签名查找元素
    wd.find_element_by_tag_name('button').click()
    sleep(3)


def get_glob_web():
    return GSTORE['get_glob_web']

用例文件的初始化和清除(共有3种方法)

执行顺序如下

自动化框架的初始化和清除执行顺序

  • 首先看第一种:
    单个用例的初始化、清除 是在 用例对应的类里面添加setup、teardown 方法
class c1:
    name = '管理员首页 - UI-0101'

    # 初始化方法
    def setup(self):
        wd = open_browser()
        mgr_login(wd)

    #清除方法
    def teardown(self):
        wd = get_global_webdriver()
        wd.quit()

    # 测试用例步骤
    def teststeps(self):
        # 获取webdriver对象 对应 已经登录好的浏览器
        wd = get_global_webdriver()

        STEP(1, '获取左侧菜单信息')
  • 第二种:
    整个 用例文件 的初始化、清除 是在 文件中 添加全局函数 suite_setup、suite_teardown
from hyrobot.common import *
from lib.webui import  *
from time import sleep

def suite_setup():
    INFO('suite_setup')
    wd = open_browser()
    mgr_login(wd)

def suite_teardown():
    INFO('suite_teardown')
    wd = get_global_webdriver()
    wd.quit()

class c1:
    # 测试用例名字
    name = '管理员首页 - UI-0101'

    # 测试用例步骤
    def teststeps(self):

        wd = get_global_webdriver()

        STEP(1, '获取左侧菜单信息')

        ...

        STEP(2, '检查是否正确')

        ...


class c2:
    name = '管理员首页 - UI-0102'

    # 测试用例步骤
    def teststeps(self):

        wd = get_global_webdriver()


        STEP(1, '点击左侧客户菜单')

        ...

        STEP(2, '添加客户')

        ...

        STEP(3, '检查添加信息')

        ...

        # 预期内容为

        ...

        CHECK_POINT('客户信息和添加内容一致 ',
                    texts == expected)
  • 第三种:
    套件目录的初始化、清除,就是 在这个目录下面创建名为 st.py 的文件,也是在 文件中 添加全局函数 suite_setup、suite_teardown。

一个好奇的人