예제 #1
0
class TestMpArticle:
    # 1. 初始化
    def setup_class(self):
        # 1. 获取driver
        driver = GetDriver.get_web_driver(uiAutoTestHmtt.page.url_mp)
        # 2. 获取统一入口类对象
        self.page_in = PageIn(driver)
        # 3. 获取PageMpLogin对象并调用成功登录依赖方法
        self.page_in.page_get_PageMpLogin().page_mp_login_success()
        # 4. 获取PageMpArticle页面对象
        self.article = self.page_in.page_get_PageMpArticle()

    # 2. 结束
    def teardown_class(self):
        GetDriver.quit_web_driver()

    # 3. 测试发布文章方法
    @pytest.mark.parametrize("title,content,expect,channel", read_yaml("mp_article.yaml"))
    def test_mp_article(self, title, content, expect, channel):
        print("发布文章所属频道为:", channel)
        # 调用发布文章业务方法
        self.article.page_mp_article(title, content)
        try:
            # 断言
            assert expect == self.article.page_get_info()
        except Exception as e:
            # 日志
            log.error(e)
            # 截图
            self.article.base_get_img()
            # 抛异常
            raise
예제 #2
0
class TestAppArticle:
    # 1. 初始化
    def setup_class(self):
        # 1. 获取driver
        driver = GetDriver.get_app_driver()
        # 2. 获取统一入口对象
        self.page_in = PageIn(driver)
        # 3. 调用登录方法
        self.page_in.page_get_PageAppLogin().page_app_login_success()
        # 4. 获取发布文章页面对象
        self.article = self.page_in.page_get_PageAppArticle()

    # 2. 结束
    def teardown_class(self):
        # 关闭driver
        GetDriver.quit_app_driver()

    # 3. 文章测试方法
    @pytest.mark.parametrize("click_text,title", read_yaml("app_article.yaml"))
    def test_app_article(self, click_text, title):
        try:
            # 调用发布文章业务方法
            self.article.page_app_article(click_text, title)
        except Exception as e:
            # 1. 日志
            log.error(e)
            # 2. 截图
            self.article.base_get_img()
            # 3. 抛异常
            raise
예제 #3
0
class TestMpLogin:
    # 初始化
    def setup_class(self):
        # 1. 获取driver
        driver = GetDriver.get_web_driver(uiAutoTestHmtt.page.url_mp)
        # 2. 通过统一入口类获取PageMpLogin对象
        self.mp = PageIn(driver).page_get_PageMpLogin()

    # 结束
    def teardown_class(self):
        # 调用关闭driver
        GetDriver.quit_web_driver()

    # 测试业务方法
    @pytest.mark.parametrize("username,code,expect",
                             read_yaml("mp_login.yaml"))
    def test_mp_login(self, username, code, expect):
        # 调用登录业务方法
        self.mp.page_mp_login(username, code)
        try:
            # 断言
            assert expect == self.mp.page_get_nickname()
        except Exception as e:
            log.error("断言出错,错误信息:{}".format(e))
            print("错误原因:", e)
            # 截图
            self.mp.base_get_img()
            # 抛异常
            raise
예제 #4
0
class TestMisLogin:
    # 1. 初始化
    def setup_class(self):
        # 1. 获取driver
        driver = GetDriver.get_web_driver(uiAutoTestHmtt.page.url_mis)
        # 2. 通过统一入口类对象获取PageMisLogin
        self.mis = PageIn(driver).page_get_PageMisLogin()

    # 2. 结束
    def teardown_class(self):
        # 关闭driver
        GetDriver.quit_web_driver()

    # 3. 登录测试业务方法
    @pytest.mark.parametrize("username,pwd,expect",
                             read_yaml("mis_login.yaml"))
    def test_mis_login(self, username, pwd, expect):
        # 1. 调用登录业务方法
        self.mis.page_mis_login(username, pwd)
        try:
            # 2. 调试断言信息
            assert expect in self.mis.page_get_nickname()
        except Exception as e:
            # 日志
            log.error(e)
            # 截图
            self.mis.base_get_img()
            # 抛异常
            raise
예제 #5
0
class TestAppLogin:
    # 1. 初始化
    def setup_class(self):
        # 1. 获取driver
        driver = GetDriver.get_app_driver()
        # 2. 通过统一入口对象获取PageAppLogin对象
        self.login = PageIn(driver).page_get_PageAppLogin()

    # 2. 结束
    def teardown_class(self):
        # 关闭driver
        GetDriver.quit_app_driver()

    # 3. app登录测试业务方法
    @pytest.mark.parametrize("phone,code", read_yaml("app_login.yaml"))
    def test_app_login(self, phone, code):
        # 调用app登录业务方法
        self.login.page_app_login(phone, code)
        try:
            # 断言
            assert self.login.page_is_login_success()
        except Exception as e:
            # 1. 日志
            log.error(e)
            # 2. 截图
            self.login.base_get_img()
            # 3. 抛异常
            raise
예제 #6
0
from selenium.webdriver.common.by import By

from uiAutoTestHmtt.tools.read_yaml import read_yaml
"""以下数据为自媒体、后台管理url"""
# 自媒体url
url_mp = "http://ttmp.research.itcast.cn/#/login"
# 后台管理url
url_mis = "http://ttmis.research.itcast.cn/#/"
"""以下为文章相关配置数据"""
title = read_yaml("mp_article.yaml")[0][0]
print("文章的title为:", title)
channle = read_yaml("mp_article.yaml")[0][3]
print("文章所属频道为:", channle)
"""以下数据为自媒体模块配置数据"""
# 用户名
mp_username = (By.CSS_SELECTOR, "[placeholder='请输入手机号']")
# 验证码
mp_code = (By.CSS_SELECTOR, "[placeholder='验证码']")
# 登录按钮
mp_login_btn = (By.CSS_SELECTOR, ".el-button--primary")
# 昵称
mp_nickname = (By.CSS_SELECTOR, ".user-name")
# 内容管理
mp_content_manage = By.XPATH, "//span[text()='内容管理']/.."
# 发布文章
mp_publish_article = By.XPATH, "//*[contains(text(),'发布文章')]"
# 文章title
mp_title = By.CSS_SELECTOR, "[placeholder='文章名称']"
# iframe
mp_iframe = By.CSS_SELECTOR, "#publishTinymce_ifr"
# 文章内容 定位body,勿定位到p标题