测试之家淘宝店:主营软件测试定制服务
http://shop71136398.taobao.com/
软件评测试考试论坛:http://www.testdao.com/forum-113-1.html
2012软件评测师考试群:28388329
多线程测试工具
上一篇 /
下一篇 2011-04-07 00:28:17
/ 个人分类:自动化测试
最近在
测试一个内存为80MB以下,系统的提示信息问题。由于目前的cpu通常都是2G内存,因此要将内存降低到80MB是困难的,手工测试的方法就是不断的打开N多个exe进程,但是很难控制而且重复动作比较大,于是编写了自动发送多线程的工具,来代替这一个测试。
具体代码如下:
using System;51Testing软件测试网P7Y)B(h9CI
using System.Collections.Generic;51Testing软件测试网;H.@qvc
using System.Drawing;
{8Xg6|[T0using System.Windows.Forms;
O
I}(aM3qz0using System.Threading;51Testing软件测试网^H,z {#C5b2_
using System.Diagnostics;
namespace Multiprocess
jgP c9FI%@ d0{
51Testing软件测试网"~4~b M+fXF /// <summary>
{N&@4P
u} X9O$x0 /// Description of MainForm.
51Testing软件测试网sw
_*K$CJ /// </summary>
^N3A2T-m+BE0 public partial class MainForm. Form
7N
|eH9O_z{0 {
b$]_\`x}0 public MainForm()
51Testing软件测试网$z7N0K~a {
+w(q ofN
R,eo$w0 //
51Testing软件测试网9S*e9t']b/{1m+u'N // The InitializeComponent() call is required for
Windows Forms designer support.
B6B%B5K bF0 //
e,@(?+oDBY
w_{\0 InitializeComponent();
d$A D4d1Y1a#N#sN0 P Jn
{)UE0 //
$U'zZ%[)@*\0 // TODO: Add constructor code after the InitializeComponent() call.
&\3B+|7py0 //
51Testing软件测试网;L:^u$s']I }
51Testing软件测试网8Q8],HQ'yq)C P+C
Y@$qg2V `_Sd0 51Testing软件测试网&lx.Y3q8w
sVy!E aA$a&}-?(^0 public void NonMSNRun()//后台创建一个exe进程方法
51Testing软件测试网eVf&Ij'} [ {
{-h"DQP {q0 :vqI{
A2X0 ProcessStartInfo info = new ProcessStartInfo();//新建一个exe进程信息
51Testing软件测试网"~"P&j2@:?f;}$Mg2]&M info.FileName = "iexplore.exe";//启动IE
Z n5oFO-n0 info.Arguments="
http://www.google.com";//进入到google主页
(mdN4u zGa/qL7v0 info.WindowStyle. = ProcessWindowStyle.Hidden; //隐藏IE窗口,只在后台显示
51Testing软件测试网8jqCY:F$x`Db Process.Start(info); //启动进程
CrdDe2u;UR[-F5n0 n3}
L7VI+xh_1o0 }
51Testing软件测试网e1{6V#^f/}#ZG$B VDO_]1}
ou6^gs0 O0Ih$p+M7G;ux0 qC-uCa0 void Button1Click(object sender, EventArgs e)
J+UT+I,{a vW-@$M0 {
51Testing软件测试网hE1F zu1S0}` int value = Convert.ToInt32(textBox1.Text);
51Testing软件测试网 i8D_2p5amO'u if(textBox1.Text == null ||textBox1.Text =="")//对输入值进行判断
'z0n!?g X?%k.O0 {
51Testing软件测试网;eyoM-u:s3Oh MessageBox.Show("请输入迭代次数");
51Testing软件测试网H~P-K!d k }
6K#E3LV4d5cf*a0 else if(value >50)//对输入值不能超过50.因为一个ie内存为40000k/1024*50,已经可以达到预期效果
1_&_tpW.K[8I ]Q0 {
.hl({
[7Bx0 MessageBox.Show("请输入小于50的数");
7j/shw_8cX0 }
Z#E)|$Y.mp0 else
51Testing软件测试网oW&{BP+C LK.{:] {
51Testing软件测试网9?9h HajY^G/L6n6F 51Testing软件测试网I+})Z0fX`c Thread[] thread = new Thread[value]; // 创建N个线程
51Testing软件测试网t&r1^._s {/T for (int i = 0; i < value; i++)
51Testing软件测试网*q:a0Z-dF0W {
51Testing软件测试网TSPQWb } thread[i] = new Thread(new ThreadStart(NonMSNRun)); //每个线程启动一个IE进程
]Z0U(f O
^}6x0 ZH Y%|,g0 }
for (int i = 0; i < value; i++) // 启动N个线程
{4Hw1zN P1U
@0 {
%` r3q5|&A"[(\W0 thread[i].Start();
6nem*VT0 }
;Uz1lM3S0 51Testing软件测试网!N!i8RC!h
}51Testing软件测试网(jqHA]%q,h
M/L6V(zhF1AP*yP0 }51Testing软件测试网\+\(q(nCAn9?E3m
51Testing软件测试网I)I/IK4v
void Button2Click(object sender, EventArgs e)
n+Bd&pP(X0`&x2m0 {
!P?*ejj$a7J&B;aw6d0 foreach(Process process in System.Diagnostics.Process.GetProcesses())
g[x
|-waZ"CD4O0 {51Testing软件测试网"a)dv"u
?Q2Oy7v$k1i
if(process.ProcessName.Equals("iexplore"))51Testing软件测试网:N,v1Xc PvCT
{51Testing软件测试网r g
j2h~y$C
process.Kill(); //关掉所有IE进程51Testing软件测试网
i[Z$ejN-LWs
}
J7{I\Y0G:\0 }51Testing软件测试网4l'z#} s3p
II
}
!k)VN'a Nc"y*M0 }51Testing软件测试网ru4Do$w_
}
代码比较简单,主要实现多线程,但是CPU和内存还是需要自己查看资源管理器去进行判断。
J)Q/C4h9KL0
收藏
举报
TAG: