web测试

Web主线程中的主线程

左心房为你撑大大i 提交于 2020-02-27 11:02:16
  网站被用户加载后,可能你会打开/product/index这种页面,它将会在服务器端产生一个线程,这个线程我们称为主线程,当然你的程序中也可以通过Thread类建立其它线程,但只要你加开页面,就会有一个主线程被加载,这是一定的,我们可以通过Thread.CurrentThread静态属性来获得当前运行着的线程,对于每个客户端来说,它都是唯一的,但不同的客户端,它是不同的,例如: 客户端A访问/product/index页面,它所得到Thread.CurrentThread.ManagedThreadId可能是8,而客户端B访问这个页面时,它的值可能是12,这是我们要注意的地方. 当然,如果A所在的线程8被系统回收了,那B有可能会被分配到这个8号线程,所以,大家在使用线程时,需要考虑这种情况幼,它可能会隐藏一些潜在的问题! 我们一般可以通过下面代码去测试你的当前线程: public ActionResult About1() { ViewData["msg"] = "当前线程:" + Thread.CurrentThread.ManagedThreadId.ToString(); return View(); } 对于一个页面,也可以通过创建多线程的方式,来模拟多个客户端,代码如下: for (int i = 0; i < 10; i++) { var t = new

WEB自动化测试初探:没有想得那么困难

寵の児 提交于 2020-02-25 16:22:03
自动化测试,对于我们大部分的测试工程师来讲是最主要的发展方向之一。我们可以看到,上规模的公司在招聘测试工程师的时候,自动化和性能是最基本的技能。我们以BAT为例,公司内部员工几乎都是自动化或性能测试工程师,而功能测试则是外包公司的员工在做。可想而知,无论是从福利待遇还是个人发展的角度讲,自动化和性能都是我们职业发展必不可少的方向。我也相信,大部分人都在朝着这个方向努力。 今天,我们就来聊一聊WEB自动化测试。 什么是自动化?什么事WEB自动化? 在说自动化测试之前,我想先说一说什么是自动化?我个人觉得,自动化本身很难定义,但是存在于我们生活中的角角落落。例如,农作物种植从牛拉车到机械,从人工插秧到机械插秧,从人工收割到自动化收割。 自动化机械的应用,解放了生产力,提高了农业生产的效率,将多人重复的体力劳动依靠机械自动化几乎不需要人力参与就能够完成。 根据上面的例子,我们大概能够总结出自动化的一些特性: 首先,他们都是重复的工作,周而复始,几乎没有任何变化的工作; 其次,这些工作在实现自动化之前过于低效,无法满足大规模农耕作业的需求; 最后,这些工作在人力参与的情况下具有易错性,人类虽然是万物的灵长,但是在这些重复、不需要思考的工作中不能保证标准和质量; 根据上面的例子和我们总结出的特性,我们大概可以确定自动化的定义: 照猪画八戒,我们就可以确定WEB自动化的定义: WEB测试中

Web UI自动化(ubuntu系统,python3.6)

霸气de小男生 提交于 2020-02-21 18:53:27
在ubuntu系统中搭建python3.6.4+selenium+chrome,实现无界面上运行web前端自动化测试 一、ubuntu系统16.04自带了python2.7和python3.5 ,需要安装python3.6.4步骤: 1、使用 wget 命令下载 Python3.6.4 安装包:wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz 2、使用 tar 命令对 Python3.6.4 进行解压:tar zxvf Python-3.6.4.tgz 3、进入 Python-3.6.4 目录:cd Python-3.6.4 4、编译安装,执行 ./configure 脚本:./configure 5、执行安装:make make install 安装完成后使用python3.6 检查是否安装成功,然后使用pip3.6 install selenium 如果能正常安装,说明python3.6 安装完成 如果pip安装失败, 提示:pip is configured with locations that require TLS/SSL ....... 1.在使用pip的时候需要ssl,通过命令先安装openssl 和 libssl-dev:apt-get install openssl apt-get

centos7部署web测试环境 jdk,tomcat,mysql

会有一股神秘感。 提交于 2020-02-14 11:15:12
安装JDK(rpm) 1、将rpm包上传到服务器 ​ 首先要到Oracle官网下载jdk的rpm包,或者直接使用yum安装jdk: ​ yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel 2、安装java ​ 在上传目录下,使用命令安装: ​ rpm -ivh xxx.rpm 3、配置环境变量 ​ 首先,可以使用命令查询一下jdk的位置: ​ find / -name jdk* ​ 然后,输入命令: ​ vi /etc/profile ​ 接着,在文本末尾加入以下内容,保存并退出: export JAVA_HOME=/usr/java/jdk1.8.0_11 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ​ 最后,使用命令让环境变量立即生效: ​ source /etc/profile 4、验证配置 输入命令,如果能看到版本号说明配置成功: java -version 安装Tomcat(tar) 1、将tar包上传到服务器 ​ 去官网下载压缩包,或者使用wget下载: ​ wget https:/

Web页面测试总结(控件类)

£可爱£侵袭症+ 提交于 2020-02-12 03:02:22
界面测试,最多的就是各种控件的功能测试,只有掌握了其测试要点,了解测试方法,总结各种测试情景,才能熟练测试Web页面。 一、输入框 输入框分为文本输入框,数字输入框。一般使用在填写输入的内容上,比如名称,属性等,有新建和编辑类两种。在检查的时候需要关注一些输入框的特性: 输入的字符长度是否符合要求,输入最小长度,最小长度-1,最大长度,最大长度+1,以及超长的字符检查是否符合预期 输入特殊字符,特别是&、单引号’、空格检查是否能保存 输入内容前后带空格的,能否自动过滤处理 不输入内容,保存,是否有错误提醒 输入注入的字符串,比如null,js代码,html代码等,是否能保存 数字输入框还要检查边界值,负数,分数,非数字,0,科学计数法,字母与数字结合,16进制,8进制,货币性输入,小数点位数检查等情况等情况 另外,输入框在逻辑上需要关注以下几点: 信息的唯一性,比如一些名称的检查要求唯一性 编辑类的输入框,要检查鼠标移出后点击,能否从输入框移出焦点 有自动带入功能的输入框,要检查自动带入数据的正确性 二、按钮 按钮一般用户功能的确认,涉及到功能与db等的存储情况是否符合预期。常见测试场景如下: 按钮是否可点,有弹出框的弹出框是否符合预期 自然状态、鼠标悬浮和按钮按下状态下,按钮的状态 按钮的功能实现是否正常(存储db,与其他模块交互等是否正常) 按enter键操作按钮,功能是否正常

WEB测试—用户界面测试

瘦欲@ 提交于 2020-02-12 02:25:23
如果有设计稿,当然按照设计稿进行测试;没有设计稿,就参考原型;如果都没有,就按照web大众排版设计要求测试了,当然,还是要产品看过为准。 一下简单总结一下测试的点。 1. 导航测试 很少有用户愿意花时间去熟悉Web应用系统的结构,因此,Web应用系统导航帮助要尽可能地准确。 测试点: 导航形式:按钮、对话框、列表、窗口等,是否直观,样式是否正确,风格是否一致。 导航链接:页面的连接等。 导航文案 2. 图形(多媒体)测试 Web应用中,主流的一些多媒体内容包括图片、GIF动画、Flash、Silverlight等 测试点: 图形的尺寸、大小、质量: 一般采用JPG、GIF、PNG格式,并且在不影响图片质量的情况下能使图片的大小减小到 30k 以下 图形排版、正确性:图片或动画排列有序并且目的明确 图形链接: 链接有效,并且链接的属性正确(比如是新建窗口打开还是在当前页面打开) 背景颜色:应该与字体颜色和前景颜色相搭配 文字环绕:位置等 GIF动画:是否设置了正确的循环模式,其颜色是否显示正常 等 测试工具: 浏览器的自带调试工具,就很有用。主要还是人工。 3. 内容测试 用来检验Web应用系统提供信息的正确性、准确性和相关性。 测试点: 文案:文字表达是否恰当,是否有错字等 字体、大小、颜色、对齐方式、风格 页面元素排版:导航、表单、图形、控件等位置、大小排版 Web页面结构、导航

如何真机测试web页面

十年热恋 提交于 2020-02-11 17:00:23
手机测试自己写的web页面方法有很多,在这里稍微介绍一种,步骤如下    1 首先安装软件phpstudy,安装后打开如图    2 启动phpstudy    3 启动成功后,如图所示(注意:如果此处两个点没有变成绿色表示环境有些问题)    4 电脑开启wifi ,然后手机连上电脑的wifi,这一点很重要哦 (注意:保证手机和电脑在同一个局域网下)    5 phpstydy安装后,找到安装路径,并在路径下找到WWW目录,删除里面的三个文件夹,注意不是把WWW删除,而是把WWW里面的文件删除,删除后如图所示   6 打开浏览器,输入localhost或者电脑的IP地址,如图所示    7 把自己写的web页面放在WWW目录下面   8 刷新浏览器,会看到我们写好的web页面哦    9 然后直接点击页面就可以打开预览   10 打开手机浏览器,输入电脑的IP地址,同样可以进入和电脑一样的界面,那么手机就能轻松的访问WWW目录下的所有文件了,并且只要修改了WWW目录下的文件,手机只需要刷新就可以同步看到效果哦 来源: CSDN 作者: 千锋教育官方博客 链接: https://blog.csdn.net/GUDUzhongliang/article/details/104259973

[原题复现]2018护网杯(WEB)easy_tornado

泪湿孤枕 提交于 2020-02-08 21:25:42
简介 原题复现: https://gitee.com/xiaohua1998/qwb_2019_supersqli 考察知识点:[护网杯 2018] WEB easy_tornado 线上平台: https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 [护网杯 2018]easy_tornado 打开页面发现三个链接依次打开 发现各自的文本 flag in /fllllllllllllag render md5(cookie_secret+md5(filename)) 从上面三个信息我们的值flag在/fllllllllllllag文件 render这个卡住了看了WP 说render是模板注入,经过测试发现过滤了 payload: http://13bb9f10-d2a9-428f-8148-0b42271a1c94.node3.buuoj.cn/error?msg={{1*2}} render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页 render配合Tornado使用 Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

winform与web交互问题总结

China☆狼群 提交于 2020-02-02 21:41:02
最近做数据采集,碰到了很多钉子,这里一一记录下来。 很久没写东西了... ,不是没有写的,是没心情写,想的太多了,在想些什么,自己也说不清楚,往大了说关于人生,往小了说关于怎么活。扯远了,不废话了。 1、选择什么方式去采集? 网上方式很多WebClient,WebRequest和WebBroswer,分析需求之后选择 WebBroswer , 原因有几点: a、很多地方需要登陆之后才能采集,要做模拟登陆就会牵扯到状态保存问题等等 b、多级页面跳转,也需要模拟去触发点击事件 c、Ajax页面数据采集 2、WebBroswer 的加载状态问题,页面什么时候加载完? WebBroswer 加载状态一个页面时候加载完 , 一开始是一个很头疼的问题 , 写了个Demo发单凭WebBrowser.ReadyState是不可靠的 , 有人直接延时,但延多少根本没办法确定。 后来测试发现WebBrowser_DocumentCompleted事件会重复触发,造成业务逻辑混乱,找到问题之后就好办了,用完就去掉它这个委托。 if (webBrowser1.ReadyState != WebBrowserReadyState.Complete) return; webBrowser1.DocumentCompleted -= new

静态web网站搭建---https&虚拟目录&用户控制

谁都会走 提交于 2020-01-31 12:48:28
https 端口–443 在超文本传输协议http+ssl认证—超文本传输安全协议–应用层与传输层之间加 Ssl建立在tcp之上,三个特点: 1)认证用户和服务器,确保数据发送到正确的客户机和服务器; 2)加密数据以防止数据中途被窃取 3)维护数据的完整性,确保数据在传输过程中不被改变 分为:1、共享密钥加密(对成密钥)2、公开密钥加密(非对称密钥加密) 3、 公钥(公共拥有)—加密 4、私钥----解密 工作流程:认证服务器—>协商会话密钥(非对称密钥)---->数据加密通信 [root@b ~]# rpm -qa | grep httpd ----安装httpd httpd-2.4.6-40.el7.x86_64 httpd-tools-2.4.6-40.el7.x86_64 [root@b ~]# yum install mod_ssl -y ----安装ssl [root@b ~]# systemctl stop firewalld.service [root@b ~]# setenforce 0 [root@b ~]# rpm -ql mod_ssl----查看释放的文件列表信息 /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.modules.d/00-ssl.conf /usr/lib64/httpd/modules/mod_ssl