八月杂谈

好久没有写文字了,最近发生太多事情,杂七杂八的太多,今天准备写一些自己的理解和观点。

最近正在进行的奥运会属实精彩,虽然说已经经历过很多届了,但是传统的味道还是没有改变,原来只喜欢看奥运会,单纯的看奥运会,现在喜欢除了看奥运会以外,还喜欢看看选手背后的一些故事。

比如东京这场奥运会,开幕式和部分选手已经被喷烂了,最开始属于是深有感触,但是越来越疯狂的攻击,甚至于是人身攻击网曝让我觉得事态发展非常不好,有些过了,我敢说很多喷的人可能连整个比赛都没有看完过,而是别人分享的一些文字图片便跟上节奏了,不管对不对,就想搞个大新闻批判一番。所以我觉得现在网上的戾气太重了,不仅仅是在奥运会这个事儿上,还有鸿星尔克捐款的事儿上一样,感觉好多听风就是雨,攻击其他品牌,其他个人,节奏跟的飞起,各种搞道德绑架,各种乌烟瘴气让我觉得很窒息,也很迷惑。总结一点就是,现在太多人缺乏独立思考能力了,甚至于是懒得思考,把别人的观点拿来即用,真“拿来主义”了属于是。这样我觉得甚是不好,道德一直都是约束自己而非他人的,未知全貌,不予置评。殊不知很多时候自己的口嗨,给别人带来多大伤害。真的,不要当键盘侠,净化网络环境,人人有责。

当然除了这些之外,自己也很有收获,个人的发展,也要靠历史的进程推动。我现在越来越觉得反思,定位自己的重要性了。很多时候,并不是说你能力不行怎么样,而是要看你站在怎样的角度去看问题,比如,承认自己是一个很普通的人,并好好生活,能做到这件事,我觉得也是非常了不起了。最近授人以鱼的模型已经思考到第五层了,即授人以鱼不如授人以渔,授人以渔不如授人以欲,授人以欲不如授人以遇,授人以遇不如授人以域。其中这个域就是自我定位,之前我一直觉得你学习什么,你从事怎样的工作,这是最好的。但其实并不然,适合自己才是最好的。那什么是适合自己呢,说实话我也常常在思考什么才是适合自己的。这个问题太复杂了,因为每个人的定位真的很不一样。就拿我自己来说,不说别的,生活方面还是可以说是衣食无忧了吧,但是对于有的人来说。可能连吃饭都成问题,就更不用说发展了。还有的人不仅仅是他一个人要吃饭,他的背后可能有整个家庭需要照顾,所以真的是井蛙不可以语于海者,拘于虚也;夏虫不可以语于冰者,笃于时也。了解了更多,我才知道很多残酷的实事。这就是为什么我现在很喜欢看纪录片,尤其是小人物的纪录片,比如何苦导演拍的《最后的棒棒》,竹内亮导演的《我住在这里的理由》还有张尧导演《一个人的一天》,还有如《高考》,《出路》等等,甚至于带篮子陈义拍的《粉丝的一天》,我也觉得甚是好看,纪录片让我知道,不是说鸿鹄之志才是梦想,能够成为一个普通人,好好生活真的是一件很不错的事。所以了解这些后,回过头来看这些问题就很好理解了,我们想要好的生活,就必须要正视自己,找准好自己的定位和所处的环境,并且制定一个切实可行而且能够达到的目标努力奋斗,不管什么时代努力奋斗是必不可少的。”从来就没有什么救世主,也不靠神仙皇帝,要创造人类的幸福,全靠我们自己!”愿诸君共勉。

还有对于女性的一些看法,我向来是尊重女性的,但是有一说一,女生在职场或者说是某些地方确实会受到歧视和不尊重,比如知道有些女生连卫生巾都用不上的时候我真的是大为震惊,在淘宝买散装卫生巾的还被说不卫生等等,有何不食肉糜那味儿了,真的条件艰苦的我都不敢想象。反观一些女生,比如说长大了找个好老公嫁了什么的话,我是一直很反对的,对于女性来说,不应该谈论的只有婚姻或者说是生育工具,而是能够真正的作为独立女性,为自己的梦想,为自己喜欢的事情事业发热发光的。独立的前提就是要能够欣赏自己,尊重自己,思考自己,武装自己。有一些言论我也是非常的感觉到不适,像张口闭口就是我男朋友怎样,我老公怎样的,我很是反感,他在怎样也是他,不是你。现在可以是你的男朋友或者老公,可能很快就不是了,如果不提升自己,那么最后吃亏的也是自己。我想说的就是,希望女同胞们也能有自己的爱好,自己的理想,为自己奋斗的勇气。而不是你的男朋友,你的老公,你的孩子。如果一直依附于他物,很快就会被社会淘汰,你的安全感只能是自己给自己。

说到这里,我又想起一个事儿,就是有个小镇做题家谈论怎么远离愚昧的父母的一个话题,我看完简直不敢相信自己的眼睛,真的能够说出这些话的人到底是怎样长这么大的,真的是白眼狼了。不管怎么说,父母无论怎样也是我们最亲的人,而为了追求自己的幸福而抛弃自己的父母家庭,我觉得这种人是真的坏透了,不能说是精致的利己主义者了,应该说是贪婪的利己主义者了,专门利己,毫不利人,把父母拒之门外,简直是冠冕堂皇的坏人。不说他人,说说我自己吧,我对父母怎么样呢,谈不上非常好吧,但是不得不说,和父母的交流沟通还是比较频繁到位的,基本都是每周四五个电话,不管是嘘寒问暖,还是杂七杂八的,都会给父母说。其实父母的期盼真的是希望你能够过好生活,即便上面那位小镇做题家抛弃父母,父母肯定是不会记你仇的,但是无论如何,人不能忘记自己的根,忘记自己的人性。俗话说“子不嫌母丑,狗不嫌家贫”,能够说出抛弃父母过好自己小日子这样话的人,非蠢即坏,是群众里的坏人。

以上,一点微小的收获,谢谢大家。

Bobby

2021.8.5

使用Airtest批量运行自动化脚本

在我们编写好测试脚本后,通常是在IDE里面点击运行按钮运行我们的脚本,但是在IDE里面只能针对一个对象运行脚本,如何才能批量运行脚本呢。

在批量运行脚本里有两个需求,第一个是回归测试也就是一个手机运行多个脚本,另一个是兼容性测试也就是一个脚本在多个手机上运行。在IDE里运行脚本其实是经典的一对一场景,那么要实现批量运行脚本则需要脱离这种关系,实现一对多,多对一甚至是多对多。

1.安装Airtest

首先我们的Airtest脚本是基于ide环境运行的,那么要脱离ide第一步就是电脑环境要有Airtest,通过pip install airtest安装依赖,并通过pip list查看是否安装成功。

2.获取连接设备名称

因为要批量运行脚本,所以我们还应该知道连接设备的名称,不然执行的脚本和运行脚本的设备对应不上,可以通过airtest自带的adb工具查看已连接设备的名称,运用./adb devices查看连接设备名。

3.创建脚本

脚本创建时,首先了解单个脚本单设备执行

 

::关闭回显

@echo off

::切换到D盘

D:

::进入D盘的test目录

cd D:\Desktop

::执行 airtest run 命令

start airtest run testdemo.air

exit

 

其中,testdemo.air是所需执行脚本文件夹的名称,因为脚本不仅包含py文件,还有相应的截图。新建记事本,将上面代码复制后,修改脚本名称和执行目录名称,再将记事本的后缀.txt改为.bat即可完成脚本创建。脚本路径可以右键-属性进行查看

修改完成后双击bat文件即可执行脚本。其中airtest run关键字后可以带–device  –log 和 –recording 等参数。

# 不带任何参数运行脚本
airtest run D:\Desktop\testdemo.air
# 带命令行参数运行脚本
airtest run D: \Desktop\testdemo.air –device Android:/// –log log/ –recording

 

一个设备上批量执行多个脚本

 

@echo off
D:
cd D:\Desktop
title 正在执行第一个脚本
airtest run testdemo1.air
title 正在执行第二个脚本
airtest run testdemo2.air
title 正在执行第三个脚本
airtest run testdemo3.air
exit

 

一个脚本在多个设备上执行,其中设备名为连接手机名或者虚拟机远程连接地址

 

@echo off

D:

cd D:\Desktop

start “正在使用荣耀6手机运行脚本” airtest run testdemo.air –device Android:3LG4C17304008132

start “正在使用nova2手机脚本” airtest run testdemo.air –device Android:TPG5T18530014341

start “正在使用雷电模拟器跑脚本” airtest run testdemo.air –device Android://127.0.0.1:5037/emulator-5554
start “正在使用mumu模拟器跑脚本” airtest run testdemo.air –device Android://127.0.0.1:5037/127.0.0.1:7555

exit

资料来源参考引用项目官方公众号:AirtestProject

以上

Bobby

2020.11.18

事思长为贵乎,礼也

我记得在高中的时候就对韩愈的《师说》里的“师者,所以传道授业解惑也。”印象非常深刻,而现在很意外的,也踏入了这个领域,对授业解惑有咯一点自己的微小认识。

古人以天地君亲师为顺位,也表现出了对老师的尊敬,而现在我即将接触到我的学生们,是作为我所学习掌握的东西和他们阐述交流,这确实是个不小的挑战。我在我的老师们身上学习到的东西不可能全部与大家分享,但是我觉得对于学习的一些思考,还是可以作为诸君的参考。

我一直都觉得自己是站在巨人肩膀上的一个学生,在学习老师们前辈们的各个方面,这里的老师就很广义了,小到专业知识,大到穿衣吃饭。每个人都可以向他学习,而且学习到的东西也各不一样。或者用比较专业相关的术语来说,就叫大数据下的各种资源整合以达到最优化的解决方案。

我在学习或者说分享学习经验的时候,都会以授人以鱼作为比喻,最开始是悟到两层关系,即“授人以鱼不如授人以渔” ,这也是最基本的,就是教授打渔的方法比直接授鱼更为有效。然后再后来我悟到了第三层,即“授人以渔不如授人以欲”,教授打渔的方法不如教授他打渔的一种欲望,这种强烈的欲望会促使你想去学习打渔的方法从而获得鱼。我一直停留在第三层很久,直到前段时间我悟到了第四层,即“授人以欲不如授人以遇”,即提供一个很好的机会比给予他欲望来的更为重要。越深入思考就会发现事物越本质的东西,而本质的东西就是推动的前面事物表象的原因所在,有了一个好的机遇,他就会有这种学习的欲望,有了欲望之后便会去想方设法的学习,最后便可以达到一个很好的结果。简单来说就是结果导向,朝着一个既定目标去努力。我觉得还有第五或者第六层还没有悟到,但是我也不会停止思考。

所以世间万物都讲究一个逻辑,而逻辑也就是我们思考的一个东西,无论学习什么东西,有一些很好的理论体系作为支撑,按照一定的框架逻辑去展开,比如系统论,模块论或者说是模型论等作指导便会很快达成目标。

这也映射了我标题所要想表达的东西,本是事师长为贵乎礼也,我改它为了思长,即善于去思考去理解的人,才是具有一个可持续发展能力的人,学无止境。

还有一点就是关于成功的体验。我们常听到的一句话是“失败乃成功之母”然而我并不这么认为,我反而认为成功才是失败的母亲。因为失败就是失败咯,那种沮丧是很正常的,也不用拿那些安慰来骗自己。让我们成长的更多是成功的体验,哪怕是很微小的成功的体验,只有体验到了成功我们才知道原来是这种感觉。所以我并不提倡遥不可及的失败,而是一种步步为营的成功,哪怕是这步伐很小。

一点微小的感悟,与君共勉。

Bobby
2017.7.23

图片的故事

 

-夜鹰 Nighthawks

-加油站 Gas

爱德华·霍普Edward Hopper;1882年7月22日-1967年5月15日)是一位美国绘画大师,以描绘寂寥的美国当代生活风景闻名。属于都会写实画风的推广者,他的门生日后几乎都成为了美国重要画家,并被评论家称为垃圾桶画派(Ashcan School)

 


 

“因为我喜欢追寻着那个人的自己” –藤村千代子

《千年女优》今敏作品

 


The Cháo Dynasty “潮代”

艺术家Way Fung历经四个月创作《The Cháo Dynasty》潮流艺术插画,其灵感来自宋代张泽端《清明上河图》,画作长5.25米,包含了动漫、电影和时尚等新潮元素。

这幅画的作者 Digiway 以及他的其他作品

 


2005 年乔布斯在斯坦福的演讲中,说道:
当我年轻的时候,有一本叫做《整个地球的目录》振聋发聩的杂志,它是我们那一代人的圣经之一。它是一个叫 Stewart Brand 的家伙在离这里不远的 Menlo Park 书写的,他象诗一般神奇地将这本书带到了这个世界。那是六十年代后期,在个人电脑出现之前,所以这本书全部是用打字机、剪刀还有偏光镜制作的。有点像用软皮包装的 Google,在 Google 出现三十五年之前:这是理想主义的,其中有许多灵巧的工具和伟大的想法。
Stewart 和他的伙伴出版了几期的《整个地球的目录》,当它完成了自己使命的时候,他们做出了最后一期的目录。那是在七十年代的中期,你们的时代。在最后一期的封底上是清晨乡村公路的照片,如果你有冒险精神的话,你可以自己找到这条路的。在照片之下有这样一段话:“求知若饥,虚心若愚。”这是他们停刊的告别语。“求知若饥,虚心若愚。”我总是希望自己能够那样,现在,在你们即将毕业,开始新的旅程的时候,我也希望你们能做到这样:
Stay Hungry . Stay Foolish.
这就是乔布斯所说的「Stay Hungry . Stay Foolish.」的来源,1972 年《整个地球的目录》(Whole Earth Catalog) 的最后一期封底

JAVA项目在Linux服务器环境下部署

现在有一个需求:需要把一个war包部署在可以公网访问的服务器上,以用于安卓app的后台支持。

所以第一步,我们需要准备一个云服务器,这里推荐阿里云的云翼计划,24岁以下的实名用户可以获得9.5元一个月的学生服务器,很不错地址为https://promotion.aliyun.com/ntms/act/campus2018.html

服务器好了之后,我们还需要准备项目运行的一些基本环境,Tomcat服务,数据库和JAVA环境,首先我们先准备数据库环境,然后是JAVA环境,最后是Tomcat.

数据库准备

数据库的话,可以安装Xampp集成包来使用,这样会方便一些,xampp在官网即可下载,选择For Linux版本即可https://www.apachefriends.org/index.html

下载好后,我们通过运用Xftp工具连接远程数据库,把相应的包拖过去即可。

 

完成后,首先在根目录下找到安装包,并通过Xshell连接到服务器,给予安装包可执行权限

# chmod 777 xampp-linux-x64-5.6.14-0-installer.run

然后运行安装即可

./xampp-linux-x64-5.6.14-0-installer.run

安装完成后,启动/停止xampp

# /opt/lampp/lampp start/stop

卸载xampp

# /opt/lampp/lampp stop

# rm -rf /opt/lampp

如果提示服务启动OK,则成功启动,启动失败的话需要检查服务器端口是否被其他程序占用,Apache默认端口为80,Mysql默认端口为3306。

启动完成后,我们可以通过Navicat或HeidiSQL远程连接数据库,如果这时候出现数据库连接不上的话,则是因为Mysql数据库未授予远程连接权限,需要给其他IP地址授权处理以下。

通过Xshell登陆数据库(密码默认为空)

1.执行MySQL mysql -u root -p空密码(登录MySQL)

2.执行use mysql;(跳到系统的mysql库)

3.执行update user set host = ‘%’ where user = ‘root’;(设置root用户的访问IP为全部而不只是本地)

4.执行FLUSH PRIVILEGES;(这一步很重要,实时刷新权限生效)

完成后即可远程连接数据库,连接上后记得给数据库设置一个密码

JAVA环境准备

Java环境配置时主要注意安装的文件路径和环境变量的设置

首先在官网下载对应版本的安装包,注意是linux版本64位后缀为tar.gz的包

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载完成后,先进入linux系统里的local文件夹下,创建一个名为文件夹,并进入

cd usr/local/
mkdir kencery
cd kencery/
进入后,然后按照之前的方式运用Xftp工具将压缩包拖到linux服务器上的该目录下
然后解压我们下载好的jdk文件,并重命名文件,完成后进入该文件夹
 tar -zxv -f  jdk-8u11-linux-x64.tar.gz   //解压文件
 mv jdk-8u11-linux-x64  javajdk //将文件重命名为javajdk
 cd javajdk //进入重命名好的目录
接下来配置java的环境变量
输入

vim /etc/profile

进入文档查看,按i进入编辑模式,将下面一段配置输入到底部

JAVA_HOME=/usr/local/kencery/javajdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
写完之后我们按键盘(ESC)按钮退出,然后按(:wq)保存并且关闭Vim。
配置完成之后,最重要的一步就是使文件立即生效:命令如下:
source /etc/profile
如果生效,此时我们输入java -version就能查看到返回java版本的提示

Tomcat准备

同样我们在官网上下载tomcat,https://tomcat.apache.org/download-80.cgi,下载的时候要注意一下项目的支持问题,老一点的项目下载9可能会出一些问题,我这里下载的是apache-tomcat-8.5.43.tar.gz

下载完成后,以同样的方式拖到Linux服务器里,先在local文件夹下创建一个tomcat文件,再将压缩包拖到该文件夹下,然后再解压。

mkdir /usr/local/tomcat     //在local下新建tomcat文件夹

mv apache-tomcat-8.5.43 /usr/local/tomcat/  //将下载好的压缩包移动到新建的文件夹下

tar -zxvf apache-tomcat-8.5.43.tar.gz  //解压当前文件在该文件夹下

 

完成后,我们进入解压好的目录下的webapps目录下,将我们打包好的war包通过xftp工具拖动到该目录下

完成后,我们回到bin目录下,启动tomcat服务即可

cd /usr/local/tomcat/apache-tomcat-8.5.43/bin

./startup.sh     //启动服务

./shutdown.sh    //关闭服务

Tips:在启动tomcat之前,还需要确定war包里面的数据库连接信息和当前设置数据库的连接信息一致(包括地址,端口,账号,密码等),并确保本机数据库服务已经启动

 

以上

Bobby

2019.7.30

 

 

 

 

2019年4月好书推荐-《孤独六讲》

“美学的本质或许就是孤独”

第一次接触美学这个词,竟然是在讲孤独。说起孤独,我会想到什么呢,日常琐事,或许就是自己与自己生活吧。想起一句话,他有属于他自己的孤独,所谓的心心相通,都只是一场误会而已。

本月Bobby好书推荐,《孤独六讲》,看完之后,希望有进一步的理解。

 

数据库设计-E-R图与概念模型

数据库设计的三个步骤:

1.概念模型

2.数据模型

3.物理模型

1、图书借阅管理系统数据库要求提供下述服务:

(1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。

(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。

约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。

(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。

约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。

1.2数据建模:

E-R图设计步骤

第一步:抽象实体:借书人,图书,出版社

第二步:确定实体的属性:借书人:借书证号,姓名,单位

第三步:确定实体的联系:借阅,出版

第四步:确定实体之间的关系:1:1;1:n;m:n

满足上述需求的E-R图如图:

E-R图转换成关系模型

第一步:将实体转换为关系模型(罗列属性,并用下划线标识主码)

借书人(借书证号,姓名,单位)

图书(书号,书名,数量,位置)

出版社(出版社名,电报编号,电话,邮编,地址)

第二步:将联系转换为关系模型(罗列属性,如果属性不具有明显的主码,则从对应的实体提取主码)

借阅(借书日期,还书日期)

第三步:梳理关系

1:1:候选码(两边选其一)

1:n:n端码(多的端的主码作为关系的码)

m:n:组合码(两端为共同主键)

第四步:合并关系(实体与联系):前提条件:实体和联系有相同的码

1:1:联系合并到其中一个实体中

1:n:联系合并到n端的实体中

m:n:不能合并

关系模型如下:

借书人(借书证号,姓名,单位)

图书(书号,书名,数量,位置,出版社名)

出版社(出版社名,电报编号,电话,邮编,地址)

借阅(借书证号,书号,借书日期,还书日期)

 

(完)

正交试验设计法设计测试用例

正交表的构成

行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。

因素数(Factors) :正交表中列的个数,即我们要测试的功能点。

水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数” 。即要测试功能点的输入条件。

正交表的形式:

L行数(水平数因素数)

如:L8(27)

 

用正交实验法设计测试用例

以上介绍了正交实验法的由来。怎么用正交实验法进行用例的设计呢?

一、用正交表设计测试用例的步骤

(1) 有哪些因素(变量)

(2) 每个因素有哪几个水平(变量的取值)

(3) 选择一个合适的正交表

(4) 把变量的值映射到表中

(5) 把每一行的各因素水平的组合做为一个测试用例

(6) 加上你认为可疑且没有在表中出现的组合

二、如何选择正交表

考虑因素(变量)的个数

考虑因素水平(变量的取值)的个数

考虑正交表的行数

取行数最少的一个

三、设计测试用例时的三种情况

(1) 因素数(变量)、水平数(变量值)相符

(2) 因素数不相同

(3) 水平数不相同

具体实列

 

我们拿易安卓app登录界面为例

 

(1) 有哪些因素(变量)

我们可以分析看出有账号,密码,记住密码,选择用户四个因素

(2) 每个因素有哪几个水平(变量的取值)

账号,密码的水平为填或不填,记住密码的水平为选或不选,选择用户的水平为选个人用户和选学校用户两个水平,所以四个因素都为两个水平

(3) 选择一个合适的正交表

选择正交表要符合下面的规则

1、表中的因素数>=3;

2、表中至少有3个因素数的水平数>=2;

3、行数取最少的一个。

 

这个时候我们就可以安装这个规则去查找正交表了,如何查找正交表?可以通过下面两个地址去查询

http://support.sas.com/techsup/technote/ts723_Designs.txt

http://www.york.ac.uk/depts/maths/tables/orthogonal.htm

 

从第一个地址找到了一个比较适合我们的正交表为行数为8行,4因素2水平,1因素4水平的这张表

 

2^4 4^1     n=8

00000

00112

01011

01103

10013

10101

11002

11110

 

(4) 把变量的值映射到表中

为了美观我们先处理一下这个表

行号 列号
1 2 3 4 5
1 0 0 0 0 0
2 0 0 1 1 2
3 0 1 0 1 1
4 0 1 1 0 3
5 1 0 0 1 3
6 1 0 1 0 1
7 1 1 0 0 2
8 1 1 1 1 0

然后根据上面的分析结果把因素填到每列,水平填到每行,结果如下,水平对应填写比如0=填,1=不填;0=记住,1=不记住;0=个人用户,1=学校用户.

 

行号 列号
账号 密码 记住密码 选择用户 5
1 记住 个人用户 0
2 不记住 学校用户 2
3 不填 记住 学校用户 1
4 不填 不记住 个人用户 3
5 不填 记住 学校用户 3
6 不填 不记住 个人用户 1
7 不填 不填 记住 个人用户 2
8 不填 不填 不记住 学校用户 0

完成后发现多了一列,是因为我们只有四个因素,但是正交表有5列,这个时候我们就把最后一列删除掉,构成如下图

(5) 把每一行的各因素水平的组合做为一个测试用例

行号 列号
账号 密码 记住密码 选择用户
1 记住 个人用户
2 不记住 学校用户
3 不填 记住 学校用户
4 不填 不记住 个人用户
5 不填 记住 学校用户
6 不填 不记住 个人用户
7 不填 不填 记住 个人用户
8 不填 不填 不记住 学校用户

(6) 加上你认为可疑且没有在表中出现的组合

这一步就是补充正交表里可能没有出现你觉得比较重要的情况,比如全空或者全部填写,还有就是只填写重要项其他都不填之类的,这个列子还好我们就补充一条填写账号密码,记住密码的学校用户与第一行做个比较.

行号 列号
账号 密码 记住密码 选择用户
1 记住 个人用户
2 不记住 学校用户
3 不填 记住 学校用户
4 不填 不记住 个人用户
5 不填 记住 学校用户
6 不填 不记住 个人用户
7 不填 不填 记住 个人用户
8 不填 不填 不记住 学校用户
9 记住 学校用户

 

 

好了做到这一步我们的用例也确定下来了,9条用例,接下来根据这九条就可以书写用例了,找到一个用例模板开始书写用例,第一行转换成用例如下:

 

测试用例编号 DL-001
测试模块 易安卓APP登录模块
测试标题 个人用户填写账号密码,勾选记住密码登录
重要级别
预置条件 APP已经安装并能正常启动
操作步骤 1、打开登录界面;2、账号输入Admin

3、密码输入123456

4、勾选记住密码按钮

5、选择个人用户

6、点击“登录”。

 

预期输出 登录成功,页面跳转到易安卓首页

让”坦白说”变”真相说”,从测试谈Https协议的抓取实践

最近好像QQ出咯一个新的模块坦白说,好像是匿名给好友发送标签,感觉这个应该是运营团队想出来的新点子.想必收到咯的同学都很想知道,哇这个是谁发给我的呀,这个认识咯X年,XX星座的同学是谁哦.其实很简单,我们用点小工具就可以看到咯.


首先我们要明白这个模块应该也是基于http协议的H5网页,那么抓取协议信息就很重要咯.通常我们接触接口的时候就会用到抓取工具,那么这次我们来看坦白说这个东西就要用到之前提过我也比较喜欢的接口分析工具-Charles

那么Charles的话其实是Mac平台移植到win平台的,主要是颜值比fiddler高所以比较喜欢哈哈.不多说咯先下载安装.然后局域网通过手机连接到电脑热点,记得设置代理8888端口,OK第一步搞定咯,现在直接在手机上打开QQ,这个时候我们就会发现已经抓取咯一些接口啦,但是我们发现很多QQ的接口都是锁住的,这是怎么回事呢?这是因为QQ使用的是https协议而不是http协议,协议加了密的,所以我们需要设置一下证书才可以正常访问接口内容.

ok设置证书需要设置charles的SSL,这个网上有的我就不细说咯,设置好咯之后需要在SSL Proxying Settings 添加一条ti.qq.com:443的记录,这个就是坦白说的地址.好咯之后我们再次打开QQ的坦白说访问到收到的坦白说页面,这个时候就会抓取到收到的消息列表咯.好的这个时候我们拿到咯字段列表的json数据,但是”fromEncodeUin”这个字段是加密咯的,看咯一下这个就是发送人的QQ,只要拿到这个字段就大工告成啦.

怎样破解这个加密的QQ号呢?其实..不简单说实话我没有研究过,但是已经有大神破解出来咯我们自接用就可以咯,地址:https://jackz.cn/article/qq_honestsay,把抓取好receive文件的json数据复制粘贴过来,搞定.QQ号出来啦,这个时候你只需要搜索QQ号就知道是那个好友发给你的咯,是不是很简单呢.赶快去试试吧~

很惭愧 一点微小的分享 谢谢大家
以上
Bobby
2018.4.9

Robot framework,自动化测试利器

大家好,我是Bobby,很久没有写文字咯.今天直接给大家带来一个好东西,自动化测试框架-Robot framework.

其实RF这个框架我也是最近才有所接触,在之前的时候我研究的方向是selenium2+webdriver,然后直到了解了RF之后才发现,这比sw组合好用多咯哇,美滋滋.

首页简单介绍一下Robot framework,简单来说就是帮我们自动执行用例并可以生成报告的一个开源的测试框架,具有良好的扩展性,然后基于Python语言开发,所以学习起来也是很简单,下面就直接开整.

安装RF测试框架需要进行以下11步骤的安装:

序号 安装包名 安装方法 下载地址 备注
1 python exe文件,直接双击安装 https://www.python.org/downloads/release/python-2714/ python目前有2.7和3.6两个主流版本,但是ride目前只支持2.7版本,所以建议先通过ride熟悉RF,安装的时候记得勾选Add Python 2.X to PATH
2 setuptools 下载ez_setup.py文件,双击  

https://pypi.python.org/pypi/setuptools

 

Python 的套件管理程式,需要的依赖,直接装就可以了

3 pip 1、cmd进入ez_setup.py文件目录

2、用setuptools安装:easy_install pip

https://pip.pypa.io/en/latest/index.html  

Python 的套件管理程式,比较重要,安装好后后面可以通过pip命令安装后面的支持库

4  

robot framework

1、pip install robotframework

2、源码:python setup.py install

3、exe文件,直接双击安装

https://pypi.python.org/pypi/robotframework robot framework本身,推荐第一种通过pip命令安装
5  

wxPython

1.pip install -U wxPython

2.exe文件,直接双击安装

http://wxpython.org/download.php#stable 支撑Ride的运行库,推荐pip安装
6  

robotframework-ride

1、pip install robotframework-ride

2、源码:pythont setup.py install

3、exe文件,直接双击安装

https://pypi.python.org/pypi/robotframework-ride ride,rf可视化用例编写
7  

selenium2library

1、pip install robotframework-selenium2library

2、源码:pythont setup.py install

3、exe文件,直接双击安装

https://pypi.python.org/pypi/robotframework-selenium2library selenium2测试库,基于webdriver驱动,推荐pip安装
8  

cx_Oracle

exe文件,直接双击安装  

http://sourceforge.net/projects/cx-oracle/files/

连接oracle用的(支持第9步),下载时注意选择对应版本,如wxPython2.8-win32-unicode-2.8.12.1-py27,注意下32位的,别问我为什么
9  

databaselibrary

1、pip install robotframework-databaselibrary

2、源码:pythont setup.py install

https://github.com/franz-see/Robotframework-Database-Library DB库,推荐pip安装
10 requests pip install requests  

https://pypi.python.org/pypi/requests

支持第11步,否则RF引入RequestsLibrary库会报错
11  

RequestsLibrary

 

pip install -U robotframework-requests

 

https://github.com/bulkan/robotframework-requests

http request库

如果安装完成都没有报错,那么恭喜你RF框架已经安装完成了.怎么启动呢,首先找到你电脑安装的python目录下的Scripts文件夹,找到ride.py文件

在文件夹空白处按住shift键并同时点击鼠标右键打开PowerShell窗口如下,输入ride.py点击回车

此时运行后出现ride界面说明打开成功,如果想要设置快捷启动图标可以右键ride.py发送到桌面快捷方式,然后图标可以在这个地址Python27\Lib\site-packages\robotide\widgets\robot.ico找到一个机器人

设置好快捷启动后就可以点击设置好的桌面图标快捷启动ride

注意事项

1.安装python的时候要注意勾上Add Python 3.6 to PATH,然后点“Install Now”即可完成安装,没有勾选的话就需要手动去环境变量里配置

验证python是否安装成功,打开CMD在终端里面输入python返回版本号就说明配置成功

以上

2018.4.5