设计思路的框架搭建这篇文章总结了之前工作中用到的东西,现在总结成一个基本的测试框架,分享给大家。该框架使用python3+selenium3+PO+yaml+ddt+unittest等技术编写了一个基本的测试框架,可以满足日常测试工作的需要。1、使用PageObject模式,将页面定位和业务操作分离,将测试对象(元素对象)和测试脚本(用例脚本)分离,为每个页面构建一个对象类,提高用例的可维护性;2.使用yaml管理页面控件Element数据和测试用例数据。比如当元素ID发生变化时,不需要修改测试代码,只需要在对应的页面元素yaml文件中修改即可;3.分模块管理,相互独立,随时组装,随时可用。测试框架的分层设计将常用操作和搜索封装到基础类中。不管是什么产品,都可以直接重复使用。业务层主要封装对象页面类。每个页面构建一个类,业务层页面继承基础层用例层。测试框架层提供基础组件支持整个流程执行和功能扩展,为用例层提供各页面的元素数据、用例测试数据、测试报告输出等。测试框架目录结构如下mindmap目录结构介绍:编写用例方法login.yaml例如我们要添加一个登录功能测试用例:首先在testyaml目录下添加一个页面对象yaml文件,参照login.yaml格式编写.提供这些文件是为了封装页面对象类来调用和执行位置识别操作。login_data.yaml其次在testdata目录下添加一个login_data.yaml文件,为登录接口传参提供测试数据,写入格式参考login_data.yaml文件。loginPage.py然后,在page_obj目录下添加一个loginPage.py文件,用于封装登录页面对象类,执行登录测试流程操作。login_sta.py最后在testcase目录下创建一个测试用例文件login_sta.py,使用ddt数据驱动读取yaml测试数据文件。综上所述,编写一个用例方法,只需要按照上面四个步骤创建->编写即可。执行下面的主程序,可以看到实际的输出结果。common包括:基本的公共方法类,如HTML报表、Log处理、发送邮件、基本页面对象等。pageObject是对各个测试系统操作页面的封装,可以直接继承以后用例的方法。可多次调用,维护更方便。conf是基本的系统参数配置信息,可以包括url、正确的用户信息、简单日志级别、一些输出位置、email信息等数据。对于数据驱动或其他测试用例中需要测试的数据,测试用例的流程保持不变。Axitrader返佣可以直接在文档https://www.kaifx.cn/broker/a...中进行。暂时用excel。也可以使用csv、xml等方式记录日志输出,暂时包括日志输出、htmlreport输出和img存储。test包含两个模块,testcase和testsuite。testcase负责编写测试用例。如果一个函数有多个py文件要写,可以新建一个目录。testsuite是一个测试套件,你可以根据自己的需要选择需要的测试项目(包括测试用例和测试类)。注意:使用ddt时,不能再使用addTest方法单独添加测试用例。(1)首先导入webdriver和Keys模块。selenium.webdriver模块包含驱动浏览器的实现方法。支持Firefox、Chrome、InternetExplorer。Keys模块包含键盘中的按键,如F1、ALT等fromseleniumimportwebdriver fromselenium.webdriver.common.keysimportKeys (2)接下来创建一个ChromeWebDriver实例。driver=webdriver.Chrome() driver.get方法会在浏览器中打开指定的URL页面。当页面完全加载(触发“onload”事件)时,控制权将传递给我们编写的测试脚本。 注意:如果加载的页面使用了大量的AJAX请求,那么WebDriver可能不知道什么时候加载完毕。 (3)然后有个断言,测试网页标题中是否包含“Python”字符串(即H5中的
