首页 文章 精选 留言 我的

精选列表

搜索[跨框架泛化],共10000篇文章
优秀的个人博客,低调大师

一看就会:Python+Appium实现自动化测试

一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址http://appium.io/ 点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK 然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到 二、真机测试 1.连接手机 打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试 测试是否连接成功,可执行命令adb devices 出现上图就证明手机和电脑连接成功。。。 2.点击Start Inspector Session 按如下配置Desired Capabilities platformName:声明是ios还是Android系统 platformVersion:Android内核版本号,可通过命令adb shell getprop ro.build.version.release查看 deviceName:连接的设备名称,通过命令adb devices -l中model查看 appPackage:apk的包名 appActivity:apk的launcherActivity,通过命令adb shell dumpsys activity | findstr “mResume”查看(需先打开手机应用) 注意:Android 8.1之前应使用adb shell dumpsys activity | findstr “mFocus” 3.运行Start Session,选择元素 右侧 Selected Element 区域有三个按钮 Tap:执行选中元素的点击事件 Send Keys:为文本框等对象传值 如果是文本输入元素,就清除文本 4.录制脚本 录制生成的python代码如下: # This sample code uses the Appium python client# pip install Appium-Python-Client# Then you can paste this into a file and simply run with Pythonfrom appium import webdrivercaps = {}caps["platformName"] = "Android"caps["platformVersion"] = "9.0.0"caps["deviceName"] = "Mi_Note_3"caps["appPackage"] = "com.antfortune.wealth"caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity"caps["resetKeyboard"] = Truecaps["unicodeKeyboard"] = Truedriver = webdriver.Remote("http://localhost:4723/wd/hub", caps)el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button")el1.click()el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn")el2.click()driver.quit() 5.在pycharm中建立项目将代码粘入,在运行之前,还需通过pip命令安装pip install Appium-Python-Client依赖包 最后,记一个我在这些过程中遇到的问题(现已解决) 在Appium-desktop中运行Start Session时,出现 解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决 -END- 耐住寂寞,必有结果 本文分享自微信公众号 - 爱码小士(AIMA-1024)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

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

Guzzle-Swoole v2.0.0,Guzzle 协程化,支持 ElasticSearch

介绍 让 Guzzle 支持 Swoole 协程,这个项目目的就是这么简单明了! Guzzle-Swoole 是 Guzzle 的处理器(Handler),并没有对 Guzzle 本身代码进行修改,理论上可以兼容后续版本。 v2.0.0 更新日志 * 新增 Ring Handler 支持,可以用于 elasticsearch/elasticsearch 等包中: * 无需再手动引入 guzzle * 使用 YurunHttp 作为 Http 请求驱动,更加稳定可靠 使用说明 Composer:"yurunsoft/guzzle-swoole":"~2.0" 全局设定处理器 <?php require dirname(__DIR__) . '/vendor/autoload.php'; use GuzzleHttp\Client; use Yurun\Util\Swoole\Guzzle\SwooleHandler; use GuzzleHttp\DefaultHandler; DefaultHandler::setDefaultHandler(SwooleHandler::class); go(function(){ $client = new Client(); $response = $client->request('GET', 'http://www.baidu.com', [ 'verify' => false, ]); var_dump($response->getStatusCode()); }); 手动指定 Swoole 处理器 use GuzzleHttp\Client; use GuzzleHttp\HandlerStack; use Yurun\Util\Swoole\Guzzle\SwooleHandler; go(function(){ $handler = new SwooleHandler(); $stack = HandlerStack::create($handler); $client = new Client(['handler' => $stack]); $response = $client->request('GET', 'http://www.baidu.com', [ 'verify' => false, ]); var_dump($response->getBody()->__toString(), $response->getHeaders()); }); 更加详细的示例代码请看test目录下代码。 ElasticSearch $client = \Elasticsearch\ClientBuilder::create()->setHosts(['192.168.0.233:9200'])->setHandler(new \Yurun\Util\Swoole\Guzzle\Ring\SwooleHandler())->build(); 码云:https://gitee.com/yurunsoft/Guzzle-Swoole Github:https://github.com/Yurunsoft/Guzzle-Swoole

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

JFinal Undertow 2.0 发布,开发、打包、部署一体化

jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目。独创 HotSwapClassLoader + HotSwapWatcher 以 321 行代码极简实现热加载开发与部署,前无古人,后必有模仿者。 使用方法见官方文档:https://jfinal.com/doc/1-2 jfinal undertow 2.0 changelog: 1:undertow 由 2.0.25.Final 升级到 2.0.28.Final 2:jfinal 由 4.4 升级到 4.8 3:添加 WebBuilder.getDeploymentInfo() 方法,开放给用户更多 web 配置, 例如支持 JSP 的配置: https://jfinal.com/share/1890 https://jfinal.com/share/1899 JSP 配置 demo 源码: https://github.com/shanmine/undertow-jsp-demo.git 4:添加 WebBuilder.add404ErrorPage(),支持配置 undertow 容器 级别的静态资源找不到时的 404 页面 5:添加 WebBuilder.addErrorPage(),支持配置 undertow 容器 级别的其它类型错误页面 6:添加 WebBuilder.addWelcomePage() 方法,支持配置欢迎页面 7:PropExt 添加 File 参数构造方法

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

码云 Gitee 小特性之玩转开源项目国际化

当你访问 Gitee 上某个开源仓库时,Gitee 会根据你浏览器的语言设置自动切换中英文的界面。(有些地方可能翻译不够专业,欢迎给我们吐槽)你也可以在码云页面的右下角切换中英文显示。 但是这还不够,一般仓库的 Readme.md 会提供一个开源项目的详细介绍。 在 Github 上你需要自行在 Readme.md 中提供中文版介绍的链接。但 Gitee 不用这么麻烦。 我们推荐你生成两个文件: Readme.md 仓库的英文介绍 Readme_zh.md/Readme_CN.md 仓库的中文介绍 Gitee 会继续根据浏览器语言选择相应版本的 Readme 进行渲染。 比如这个仓库 https://gitee.com/fastdfs100/fastdfs 你可以通过页面右侧底部的语言切换来体验一下。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册