模板户:专注于dede模板,织梦源码,织梦模板,网站模板,dedecms模板,网站源码,dedecms教程以及各类手机网站模板和企业网站模板分享.

织梦模板

VIP

appium+python自动化50-生成定位对象模板templet(jinja2)

www.mobanhu.com / 2019-03-18 07:55:47
YO 从零开始学自动化测试

前言

每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板
python里面生成模板有两个模块可以选择:templet和mako
简单来说,本篇实现的目的是用代码去自动生成代码,做到代码自动化

接着上一篇讲:appium+python自动化49-yaml管理定位元素

jinja2简介

1.jinja2官方文档:官方文档

jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。

  • 相对于Template,jinja2更加灵活,它提供了控制结构,表达式和继承等。

  • 相对于Mako,jinja2仅有控制结构,不允许在模板中编写太多的业务逻辑。

  • 相对于Django模板,jinja2性能更好。

  • Jinja2模板的可读性很棒。

2.pip安装jinja2

pip install jinja2

3.在jinja2中,存在三种语法:

  • 控制结构 {% %}

  • 变量取值 {{ }}

  • 注释 {# #}

templetpage模板

1.新建一个templetpage,不用弄后缀,目录格式如下

2.打开文件在里面写入以下模板

# -*- coding: utf-8 -*-

from page import tools

pages = tools.parseyaml()

def get_locater(clazz_name, method_name):
    locators = pages[clazz_name][locators]
    for locator in locators:
        if locator[name] == method_name:
            return locator

{% for page, locators in page_list.items() %}
class {{page}}:{% for locator in locators %}
    {{locator}} = get_locater({{page}}, {{locator}}){% endfor %}

    {% endfor %}

提取yaml数据

生成pages.py文件

实现效果

  1. 运行tools.py脚本会自动在当前脚本目录生成一个pages.py文件,如下


# -*- coding: utf-8 -*-

from page import tools

pages = tools.parseyaml()

def get_locater(clazz_name, method_name):
    locators = pages[clazz_name][locators]
    for locator in locators:
        if locator[name] == method_name:
            return locator

class HomePage:
    城市选择 = get_locater(HomePage, 城市选择)
    首页搜索 = get_locater(HomePage, 首页搜索)


class LoginPage:
    微信登录 = get_locater(LoginPage, 微信登录)
    手机号登录 = get_locater(LoginPage, 手机号登录)
    其它登录 = get_locater(LoginPage, 其它登录)
    QQ = get_locater(LoginPage, QQ)
    微博 = get_locater(LoginPage, 微博)
    账号密码 = get_locater(LoginPage, 账号密码)
    输入账号 = get_locater(LoginPage, 输入账号)
    输入密码 = get_locater(LoginPage, 输入密码)
    登录按钮 = get_locater(LoginPage, 登录按钮)


class MyPage:
    我的 = get_locater(MyPage, 我的)
    请点击登录 = get_locater(MyPage, 请点击登录)

2.可以在里面继续输入代码,测试下是不是能正常调用成功

    阅读原文

    发送中

    阅读原文
    本文由AB模板网:织梦模板整理发布,转载请说明出处:https://www.mobanhu.com
    上一篇:进行网站建设必须要掌握的基础知识
    下一篇:没有了
    随机站长资讯
    网站改版页面url要做哪些注意
    seo对企业的帮助有哪些
    外贸网站如何才能发挥作用
    五年之后,你还认识SEO吗?
    网站seo要远离以下几点作弊
    最新站长资讯
    网站建设:seo优化的重要操作项目有哪些?
    怎样做SEO优化才能达到最大效益?
    更好的优化seo应该采取什么措施?
    进行网站建设必须要掌握的基础知识
    企业网站优化效果评估方法
    首页 免费源码 VIP专区 会员中心
    收缩