11 2020 档案
摘要:AppiumLibrary 原文链接: http://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html 版本: 1.5.0.7 生效范围: GLOBAL 具名参数: 支持 介绍 AppiumLibrary是一个
阅读全文
摘要:Bootstrap 是全球最受欢迎的前端开源工具库,支持响应式栅格系统,可以根据屏幕大小自动调整布局。 自带大量组件和众多强大的 JavaScript 插件,你只需要使用指定的样式类即可快速生成相关的组件和样式。 中文文档: https://v4.bootcss.com/docs/component
阅读全文
摘要:## 类与对象 类(Class)和对象(Object),也称作实例(Instance)是面向对象编程(OOP)中的重要概念。类的主要作用如下: - 在同一模块中,对多个函数进行分组,并共享其中的变量; - 按动作主体归类函数动作,使得逻辑更清晰。 ### 面向过程及面向对象 面向过和面向对象是两种编
阅读全文
摘要:BDD简介 BDD(Behavior Driven Development),即行为驱动开发。BDD是ATDD验收测试驱动开发的一种升级版,根据明确的预期行为(一组场景)来进行开发和测试。 这种预期行为使用一种特定规的范格式进行描述,旨在消除需求从客户,到产品经理,再到开发/测试时的信息失真问题。
阅读全文
摘要:Appium每次启动时都会检查和安装Appium Settings,这是完全没有必要的,在首次使用Appium连接设备是Appium Settings便已经安装好。 怎样跳过安装Appium Settings呢?之前的做法是修改appium中的源文件中的android-helpers.js实现,如M
阅读全文
摘要:# appium启动信息 [info] [Appium] Welcome to Appium v1.18.3 [info] [Appium] Non-default server args: [info] [Appium] relaxedSecurityEnabled: true [info] [A
阅读全文
摘要:以操作小米商城下单为例 流程是 启动小米商城app, 点击分类,点击小米手机, 点击小米10 至尊版,点击加入购物车,点击确定.... 原脚本 from time import sleep from appium import webdriver from selenium.common.excep
阅读全文
摘要:Electron是使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序框架,基于Nodejs + Chromium浏览器内核。 官网:https://www.electronjs.org/ Electron有很多优秀的应用,如VS Code、Atom、What's App、Po
阅读全文
摘要:## uiautomatorviewer > Android SDK自带 使用方法: 安装jdk1.8 下载Android sdk,运行tools下的uiautomatorviewer即可 优点: * 速度较快 缺点: * 不支持操作App * 不支持显示XPath(有改造版的uiautomator
阅读全文
摘要:安装中文插件 Settings--> Plugins --> 搜索 Chinese --> 安装下图插件并重启 设置Pytest用例发现 让测试用例前显示绿色执行三角 设置 --> 工具 --> Python集成工具--> 测试 --> 默认测试运行程序选pytest 设置完重启PyCharm,效果
阅读全文
摘要:Selenium每次打开Chrome浏览器时,每次都是一个初始的全新环境,有时候,我们需要一些当前用户的一些设置和插件等,便可以通过ChromeOptions参数,通过指定用户数据目录--user-data-dir来设置成真实用户目录来实现。 浏览器地址栏访问chrome://version/查看个
阅读全文
摘要:发送邮件 在生成报告后我们希望框架能自动把报告发送到我们的邮箱中。和outlook,foxmail等邮件客户端一样,Python中发送邮件需要通过Email的smtp服务发送。 ## 使用Python发送邮件 首先需要登录自己的邮箱,在设置中开启smtp服务,并记住授权密码。 发送邮件分3步 1.
阅读全文
摘要:有时页面为了防止用户修改指定的属性或者输入错误的格式,会对某些输入框设置readonly只读属性。一些日期选择框为了避免用户输入错误的格式,将输入框设置为只读,用户只能通过点击日期控件进行选择日期,如图5.11,网址为:http://www.miniui.com/demo/datepicker/da
阅读全文
摘要:PageObject模式简介 众所周知,UI页面元素常常是不稳定的,在使用Selenium编写WebUI自动化测试用例时,随着测试脚本的增加,维护和更新这些元素便成为一个令人头疼的问题。 在普通模式下,脚本直接定位并操作元素,一旦有元素变动时,首先我们需要从众多的用例中找到使用它的用例,然后逐个修改
阅读全文
摘要:装饰器是Python中的一个重要概念,多用于在不修改原函数的基础上,为函数增加额外的功能。 ## 基础装饰器 例如小李给女朋友买了一款iPhone12作为生日礼物,手机原封未拆封。 ```python def gift(): print('iPhone12') gift() # 运行显示礼物信息 `
阅读全文
摘要:Selenium常用的断言包括 页面属性断言:断言标题、url或页面源码中是否包含或不包含特定字符 元素存在断言:断言指定元素存在 图片及链接断言:断言图片正常显示、链接可以正常打开 页面属性断言 这是最常用的断言方式,可以用来断言页面是否正常打开,是否在指定的窗口及页面上,示例如下。 from s
阅读全文
摘要:在HTML中,由于页面美化和用户交互的需求,元素隐藏的使用非常常见,比如下拉菜单、内容折叠、对话框以及上传文件框等。 隐藏常见有以下几种表现形式。 hidden:占据空间,无法点击 style="display: none" :最常见,不占据空间,无法点击 style="visibility: hi
阅读全文
摘要:前言 程序和脚本往往是无人值守运行的,一旦发生问题,就需要我们去追溯当时的情况来定位问题的原因。 这便需要我们在程序和脚本中引入日志的功能。 相比于print信息,使用logging日志有以下优点 可以记录输出日志的时间、文件、函数以及代码行,甚至线程名和线程号 可以分等级记录日志(调试级、信息级、
阅读全文
摘要:Python中有两种可以遍历的容器类型。 序列类型:包含字符串、列表、元祖 映射(哈希)类型:包含字典、集合 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的,那么查找某个元素时就需要从头开始租个对比,因此序列的查询效率是O(n),即一个长度为n的序列查询一个变量是否在其中一般
阅读全文