首页 文章 精选 留言 我的

精选列表

搜索[自动化],共10001篇文章
优秀的个人博客,低调大师

Android robotium自动化测试

Robotium是一款测试AndroidApp的测试框架,它使得编写黑盒测试代码更加容易和稳定。它其实是对android自带测试类Instrumentation的一个封装,方便于测试人员直接调用封装好的接口。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开发出功能,系统以及验收测试用例。如果你能够拿到代码,你可以直接进行白盒测试,比如assert一下当前的activity,操作的结果对不对等等,都可以验证。官方例子: http://code.g...m/p/robotium/ 下面的以测试Android自带的NotePad源代码为例: 首先创建一个Android Project,选择Create Project form existing source,选择F:\android-sdk-windows\samples\android-8\NotePad 接下来创建Android Test Project 导入 robotium-solo-2.5.jar(可到官方例子下载,上边的链接),编写自动测试脚本如下: 下面是详细的测试内容: 附上截图的功能: 有时textview或者button的click方法会失效,解决方法是在被测程序的配置文件AndroidManifest.xml文件里加上这么一句: <supports-screens android:anyDensity="true"/>就行了。如果要想在robotium的测试程序里读写SD 卡,可以被测程序的AndroidManifest.xml文件里加上 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>。 注意是在被测程序里加上。 本文转自06peng 51CTO博客,原文链接:http://blog.51cto.com/06peng/962867,如需转载请自行联系原作者

优秀的个人博客,低调大师

React Native自动化测试

大凡做软件开发,肯定会涉及到很多的测试,本地测试,Junit测试,用例测试等,今天就来说说RN的测试。 React Native的官方代码仓库里有一些测试代码,你可以在贡献代码之后回归测试一下,以检测有没有引起别的问题。这些测试是通过Travis持续集成系统来运行的,并且会自动针对你提交的代码给出测试结果。 当然我们的测试不可能有完整的覆盖率(尤其对于复杂的用户交互),所以很多更改也还需要仔细的人工审查。我们期待你能帮助我们提高测试覆盖率,以及提供更多的测试代码或是测试用例。 使用Jest来测试 Jest是在命令行通过node来执行的纯js测试工具。测试代码放置在__tests__目录下。有一些功能我们还没有完成模拟(jest中需要模拟一些接口),因而没有纳入测试,以避免测试不通过和提高测试速度,但我们正在尽最大努力去逐渐补完这些功能的模拟。你可以在react-native源代码的根目录中使用如下命令来运行现有的jest测试代码: npm test 我们建议你在贡献代码的时候也添加自己的测试代码。你可以参考这个简单的例子getImageSource-test.js。 注意:要运行你自己的测试代码,请首先去jest的官网阅读指导文档,然后在package.json中加入jest对象,在其中包含一些预备测试环境的脚本。下面是一个示例: ... "scripts": { ... "test": "jest" }, ... "jest": { "scriptPreprocessor": "node_modules/react-native/jestSupport/preprocessor.js", "setupEnvScriptFile": "node_modules/react-native/jestSupport/env.js", "testPathIgnorePatterns": [ "/node_modules/", "packager/react-packager/src/Activity/" ], "testFileExtensions": [ "js" ], "unmockedModulePathPatterns": [ "promise", "source-map" ] }, ... 注意:你可能需要先在当前的环境中安装、更新或是链接Node.js和其他的一些工具,不然测试可能无法正常运行。点这里查看最新的测试配置文件.travis.yml。 单元测试 (Android) React Native使用Buck编译工具来运行测试。 单元测试部分直接在本地运行,不需要模拟器。运行下面的命令来执行这些测试: $ cd react-native $ ./scripts/run-android-local-unit-tests.sh 集成测试 (Android) React Native使用Buck编译工具来运行测试。 集成测试需要在模拟器/真机上运行,以验证模块、组件以及React Native的内核部分(比如bridge)在端对端测试中运作正常。 确保你正确安装和配置了Android NDK,具体配置参见这篇文档,然后运行下面的命令来执行测试: $ cd react-native $ npm install $ ./scripts/run-android-local-integration-tests.sh 集成测试 (iOS) React Native提供了一些工具来简化跨原生与JS端的组件的集成测试。这套工具的两个主要部分是RCTTestRunner与RCTTestModule。RCTTestRunner预设了ReactNative的环境,并且可以以XCTestCase的形式在Xcode中直接运行测试 (最简单的方法就是使用runTest:module)。而RCTTestModule则是以NativeModules.TestModule对象导出到了JS环境中。测试代码需要以JS写成的,并且必须在测试完成后调用TestModule.markTestCompleted()方法,否则测试过程会超时并且失败。失败的表现一般是抛出一个JS异常。测试错误条件也是可行的,使用runTest:module:initialProps:expectErrorRegex:或是runTest:module:initialProps:expectErrorBlock:方法,它们会按提供的条件去验证抛出的错误是否符合。你可以参考IntegrationTestHarnessTest.js、IntegrationTests.m以及IntegrationTestsApp.js来看具体怎么做集成测试。 Xcode中运行IntegrationTest和UIExplorer两个官方示例应用时,可以按下cmd + U键来直接在本地运行集成测试。 快照测试 (iOS) 快照测试是集成测试的一种常见类型。这类测试首先渲染一个组件,然后使用TestModule.verifySnapshot()比对屏幕截图与参考效果图,其原理是利用了FBSnapshotTestCase这个库。参考效果图是通过在RCTTestRunner中设置recordMode = YES,然后在运行测试时录制的。屏幕截图在32位和64位色深以及不同的操作系统版本上可能会有细微的差别,所以建议强制在指定的配置环境中执行测试。此外我们还强烈建议所有的网络数据和其他的潜在依赖项都应该事先模拟。你可以参考SimpleSnapshotTest这个例子。 如果你提交的PR(Pull Request,即提交你贡献的代码,并请求官方人员合并到仓库中)会影响到快照测试,比如给现有的快照测试添加一个新的测试用例,那么首先需要重新录制参考效果图。只需在UIExplorer/UIExplorerSnapshotTests.m中设置_runner.recordMode = YES;,然后重新运行先前失败的测试代码,再之后将这一设置改回去,最后提交/更新你的PR,看Travis的自动测试能否通过。

优秀的个人博客,低调大师

RPA机器人CI/CD:自动化流程也需要自动化部署

去年冬天,我帮一家中型制造企业做RPA流程改造。当时他们已经用传统方式部署了三十多个机器人,负责订单录入、库存对账、报表生成这些重复性工作。项目上线三个月,问题开始集中爆发:开发环境跑得好好的流程,到生产环境就报错;某个网页改版后,十几个机器人的元素定位全部失效;最要命的是,每次更新都要运维同事一台机器一台机器地手动替换脚本,光是发版就折腾到凌晨两点。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册