生活札记 pytest框架、Appium之自动化测试(三)

pytest 可以用来做系统测试的自动化,它的特点有:用Python编写测试用例,简便易用、可以用文件系统目录层次对应手工测试用例层次结构、灵活的初始化清除机制、可以灵活挑选测试用例执行、利用第三方插件,可以生成不错的报表。Appium 是一个移动 App (手机应用)自动化工具。Appium 自动化方案的特点:开源免费、支持多个平台iOS (苹果)、安卓 App 的自动化都支持、支持多种类型的自动化、支持苹果安卓应用原生界面的 自动化、支持应用内嵌WebView的自动化、支持手机浏览器中的web网站自动化、支持flutter应用的自动化、支持多种编程语言、像 Selenium一样,可以用多种编程语言调用它开发自动化程序。

阅读全文 » 396天前
2023年03月26日

生活札记 Python + Selenium Web之自动化测试(二)

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

阅读全文 » 403天前
2023年03月19日

技术饭 解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题

解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题,现象:1、两个https的二级域名解析在同一台服务器上,端口都是443;2、前端域名与接口域名同时在同一个浏览器打开,接口域名登录后台生成PHPSESSID,保存了登录状态;3、前端域名请求接口域名生成验证码,验证保存在session里面,由于访问接口,每次的会话session_id都是不一致,为了实现跨域验证码的验证,这个时候需要在接口端设置session_id(随机数),然后把这个随机值返回给前端,到时候验证的时候再设置session_id(随机数),这样会话才能保持一致,验证码才能通过验证;4、由于步骤3设置session_id(随机数)重新生成PHPSESSID后,导致了步骤2登录后台的PHPSESSID被改成了步骤3设置的PHPSESSID,这时候步骤2的登录状态就消失了,直接退出登录。

阅读全文 » 985天前
2021年08月14日

技术饭 websocket 心跳包保持连接和关闭重连

websocket 心跳包保持连接和关闭重连,在开启了swoole服务之后,浏览器链接websocket链接之后,发送数据正常,但是过一段时间如果浏览器没有重新请求服务器会自动的断开会话,这样就不能发送数据了,为了保持链接需要做一个链接服务器的心跳请求。

阅读全文 » 1119天前
2021年04月02日

技术饭 获取微信js-sdk网页授权的地理位置

获取微信js-sdk网页授权的地理位置,通过微信浏览器打开页面时,有时会提示要获取地理位置信息,点击同意后,自己的地理位置信息就会相应的显示在页面,同时通过数据库的查询,以实现以地理位置分类的逻辑业务。

阅读全文 » 1347天前
2020年08月17日

技术饭 css修改谷歌默认最小字体12px的方案

AikehouAdmin5.2.0版本后台的数据表单中,操作按钮的字体font-size属性设置成了10px,但是Google浏览器似乎不兼容,最小字体也就12px,几经折腾才弄清楚,原来是谷歌内核浏览器默认最小12px,其他浏览器却是支持10px,所以也只能做个兼容方案。解决方案是使用css的属性 -webkit-transform: scale(0.88); 来缩放解决这个问题。

阅读全文 » 1514天前
2020年03月03日

技术饭 JS快速获取图片的实际宽高

JS快速获取图片的实际宽高,通过onload就能获取到图片的宽高了。但onload大一点的图通常都比较慢,不实用,但只要图片被浏览器缓存,那么图片加载几乎就不用等待即可触发onload,我们要的是占位符。所以有些人通过缓存获取也可以这么写。

阅读全文 » 1557天前
2020年01月20日

技术饭 在https中发ajax请求http被浏览器block

在https中发ajax请求http被浏览器block,从https发送http请求是不可以的,除非对方提供了https的接口。

阅读全文 » 1947天前
2018年12月26日

技术饭 webuploader + cropper实现图片裁剪后上传

介绍两个插件cropper和webuploader。cropper是一款使用简单且功能强大的图片剪裁jQuery插件。该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用。而WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。如果你的H5项目是基于zepto.js,你就可以使用webuploader这个插件;如果你的H5项目是基于jquery,你就可以使用cropper这个插件。webuploader是兼容zepto和jquery的,而cropper只能基于jquery。

阅读全文 » 2052天前
2018年09月12日

技术饭 QueryList简单、 灵活、强大的PHP采集工具

QueryList简单、 灵活、强大的PHP采集工具,QueryList使用jQuery选择器来做采集,让你告别复杂的正则表达式;QueryList具有jQuery一样的DOM操作能力、Http网络操作能力、乱码解决能力、内容过滤能力以及可扩展能力;可以轻松实现诸如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求;拥有丰富的插件,支持多线程采集以及使用PhantomJS采集JavaScript动态渲染的页面。

阅读全文 » 2283天前
2018年01月24日

技术饭 php中curl扩展的简单使用

cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。这就是我们为什么要使用cURL的原因!

阅读全文 » 2668天前
2017年01月04日