首页 文章 精选 留言 我的

精选列表

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

APPium自动化启动手机应用笔记

java启动方法 1、需要安装JAR 2、启动如下: public class InitDriver { public static AndroidDriver<AndroidElement> initDriver() throws Exception{ File app=new File("自己安装包.apk"); DesiredCapabilities caps=new DesiredCapabilities(); caps.setCapability(MobileCapabilityType.DEVICE_NAME, "Android"); caps.setCapability(MobileCapabilityType.APP, app.getAbsolutePath()); caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium"); caps.setCapability(MobileCapabilityType.UDID, "127.0.0.1:62001"); caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600); //caps.setCapability(MobileCapabilityType.FULL_RESET, true); caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "包名"); caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "签名"); caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true); caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true); caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true); AndroidDriver<AndroidElement> driver=new AndroidDriver<AndroidElement>( new URL("http://127.0.0.1:4723/wd/hub"), caps); return driver; } } 三、获取报名与签名命令: aapt d badging Desktop\xxxxx.apk |findstr "package launchable-activity" 如: aapt d badging Desktop\Toon-beijing-test.apk |findstr "package launchable-activity" package: name='包名' versionCode='1709111541' versionName='1.8.0' platformBuildVersionName='7.1.1' launchable-activity: name='签名' label='' icon='' 四appium启动方式: appium -a 127.0.0.1 -p 4723–U4ca1558c--no-reset 五:DesiredCapabilities的参数配置和含义 1、本地安装apk包的文件路径设置,不需要安装就不用设置 File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "apps"); File app = new File(appDir, "kingyee.apk"); 2、在当前session前不重置app状态 capabilities.setCapability("noReset", true); 3、测试的web浏览器,如果是测app则忽略 capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); 4、平台设置iOS,Android, or FirefoxOS capabilities.setCapability("platformName", "Android"); 5、设备序列号设置 capabilities.setCapability("deviceName", "Baytrail515B4E05"); 6、系统版本号设置 capabilities.setCapability("platformVersion", "4.4.4"); 7、避免重新签名 capabilities.setCapability("noSign","true"); 8、支持中文输入 capabilities.setCapability("unicodeKeyboard","True"); 9、重置输入法到原有状态 capabilities.setCapability("resetKeyboard","True"); 10、设置apk的包名 capabilities.setCapability("appPackage", "com.kingyee.m"); 11、设置启动Activity capabilities.setCapability("appActivity", "com.kingyee.m.Start"); 本文转自 知止内明 51CTO博客,原文链接:http://blog.51cto.com/357712148/1968237,如需转载请自行联系原作者

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

WinForm自动化测试工具开发札记(4)

架构复用 这两天使用Win32 API参考对软件能用到的功能进行了一些小的尝试. 基本上没有什么太大的困难,只要努力,都能克服. 如果让这些功能散落在程序中,那么这个程序肯定写不出来.下面一段时间就开始设计类库了.使用接口/Abs类/类,把这些功能组织起来.昨天晚上在纸上大概画了画,画着画着才发现--咦,这不是跟.NET Framework的组织架构一样吗?呵呵,中微软的毒太深啦... 不过话又说回来,好的架构就应该复用. 又一个问题:是复用.NET Framework的架构,还是MFC的架构呢? 答案是:两者的"杂交品种". 1. .NET Framework的类种类丰富,适合测试WinForm上的各种控件. 2. 因为是在进行测试,所以.NET Framework的类中的"事件"成员的用处就不大了,去掉.这与MFC是一致的. 3. 正统的OO思想中本来也没有"事件"这个概念,微软自己加进去的.大概是沿袭了VB6的思想. 4. "属性"成员如果能去掉,也会去掉.降低程序的编写难度(其实也降低不了多少,搞不好程序不安全). 5. 正统的OO思想中也没有"属性"这个成员,也是微软自己加进去的.大概...(靠,哪儿来的拖鞋?) 6. 类与类(包括接口)间的继承关系,采用.NET Framework的,因为这个架构比MFC的更清晰. 本文转自 水之真谛 51CTO博客,原文链接:http://blog.51cto.com/liutiemeng/18758,如需转载请自行联系原作者

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

脚本实现自动创建DNS域名服务器

前提:保证yum可以正常使用! #!/bin/bash read -p "Please input your domain name:" DOMAIN read -p "Please input your IPaddress:" NET hostname www.$DOMAIN yum install bind caching-nameserver -y a=`echo $NET |cut -d"." -f1` b=`echo $NET |cut -d"." -f2` c=`echo $NET |cut -d"." -f3` d=`echo $NET |cut -d"." -f4` cat > /etc/named.conf << "EOF" options { directory "/var/named" ; }; zone "." IN { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; }; zone "DOMAIN" IN { type master; file "DOMAIN.zone"; }; zone "FAN.in-addr.arpa" IN { type master; file "PTR.arpa"; }; EOF sed -i 's/DOMAIN/'$DOMAIN'/g' /etc/named.conf sed -i 's/FAN/'$c.$b.$a'/g' /etc/named.conf sed -i 's/PTR/'$a.$b.$c'/g' /etc/named.conf cat > /var/named/$DOMAIN.zone << "EOF" $TTL 36400 @ IN SOA DOMAIN. admin.DOMAIN. ( 2011024 3H 15M 1W 1D) EOF echo "@ IN NS www.$DOMAIN." >>/var/named/$DOMAIN.zone echo " IN MX 10 mail.$DOMAIN." >> /var/named/$DOMAIN.zone echo "www IN A $NET" >> /var/named/$DOMAIN.zone echo "mail IN A $NET" >> /var/named/$DOMAIN.zone sed -i 's/DOMAIN/'$DOMAIN'/g' /var/named/$DOMAIN.zone cat > /var/named/$a.$b.$c.arpa << "EOF" $TTL 36400 @ SOA DOMAIN. admin.DOMAIN. ( 20110224 3H 15M 1W 1D) EOF echo "@ IN NS www.$DOMAIN." >> /var/named/$a.$b.$c.arpa echo "$d IN PTR mail.$DOMAIN." >> /var/named/$a.$b.$c.arpa echo "$d IN PTR www.$DOMAIN." >> /var/named/$a.$b.$c.arpa sed -i 's/DOMAIN/'$DOMAIN'/g' /var/named/$a.$b.$c.arpa echo "nameserver $NET" >>/etc/resolv.conf ifconfig eth0 $NET chown named /var/named/*.arpa chown named /etc/named.conf chown named /var/named/$DOMAIN.zone service named restart 本文转自 张玉坡 51CTO博客,原文链接:http://blog.51cto.com/fighter/500005

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

利用python自动清除Android工程中的多余资源

我们直接在公司项目中使用,效果良好! 分享出脚本代码,希望对Android研发的同学有帮助。 提示,初学python,开发环境是Sublime Text 2,直接Ctrl+B的,其他环境下没调试过。应该差不多^^ ################################################# #环境: win + python 2.7 #作者:马波 #邮箱:mabo02@baidu.com #部门:hao123-无线 #说明:首次使用时lint分析会耗几分钟,请耐心等待。 # 使用前先clean工程,确保工程bin下重新生成dex, # 以便lint进行分析。如果要lint重新分析多余 # 资源,需要删掉(2)txt记录文件,(1)(3)(4)需要 # 根据我们的实际工程手动设置。 # 如果清除资源后,工程缺少文件而报错(极少 # 情况),尝试通过svn恢复该文件即可。 ################################################# import subprocess import re import os import time import thread #(1)工程位置 projectPath="D:\/hao123\/code\/client-android" #(2)lint输出txt记录文件 txt="D:\/hao123_unused_res.txt" #(3)正则表达式,清除drawable和layout下多余的jpg/png/xml, # 并且排除以sailor_|wenku_|zeus_|bdsocialshare_|floating_life_|weather_info_icon_|anthology_开头的文件 regex = re.compile(r"^res\\(drawable(-land)?(-[xn]?[mhlo](dpi))|layout)?\\(?!(sailor_|wenku_|zeus_|bdsocialshare_|floating_life_|weather_info_icon_|anthology_))[0-9a-zA-Z_\.]*\.(jpg|png|xml)", re.IGNORECASE) #(4)lint.bat的位置 lint="D:\/sdk\/tools\/lint.bat" isgotTxt=False def timer(interval): while not isgotTxt: print 'Lint is analyzing: %s'%time.ctime() time.sleep(interval) if not os.path.exists(txt): thread.start_new_thread(timer, (5,)) cmd=lint+' --check "UnusedResources" "'+ projectPath +'" >'+txt p = subprocess.Popen(cmd, shell = True,stdout = subprocess.PIPE,stdin = subprocess.PIPE,stderr = subprocess.PIPE) p.wait() fobj=open(txt,'r') isgotTxt=True i=0 j=0 for line in fobj: #print str(i)+":"+line match=regex.match(line) if match: i=i+1 filename=projectPath+"\/"+match.group().replace('\\',"\\/") try: print filename os.remove(filename) j=j+1 print "was deleted!" except WindowsError: print "is not exists" pass print "Total Unused Resources = "+str(i) print "Total deleted Resources = "+str(j) 本文转自Kai的世界,道法自然博客园博客,原文链接:http://www.cnblogs.com/kaima/p/3588434.html,如需转载请自行联系原作者。

资源下载

更多资源
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应用均可从中受益。

Sublime Text

Sublime Text

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

WebStorm

WebStorm

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

用户登录
用户注册