测试之家淘宝店:主营软件测试定制服务 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~bM+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(qofN R,eo$w0   //51Testing软件测试网9S*e9t']b/{1m+u'N
   // The InitializeComponent() call is required for Windows Forms designer support.
B6B%B5KbF0   //
e,@(?+oDBY w_{\0   InitializeComponent();
d$A D4d1Y1a#N#sN0   
PJ n {)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 s Vy!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主页
(mdN4uzGa/qL7v0    info.WindowStyle. = ProcessWindowStyle.Hidden; //隐藏IE窗口,只在后台显示51Testing软件测试网8jqCY:F$x`Db
    Process.Start(info);  //启动进程 
CrdDe2u;UR[-F5n0  
n3} L7V I+xh _1o0  }51Testing软件测试网e1{6V#^f/}#ZG$B
  
V D O_]1} ou6^gs0  
O0Ih$p+M7G;ux0  
qC-uCa0  void Button1Click(object sender, EventArgs e)
J+UT+I,{avW-@$M0  {51Testing软件测试网 hE1F zu1S0}`
   int value = Convert.ToInt32(textBox1.Text);51Testing软件测试网 i8D_2p5amO'u
   if(textBox1.Text == null ||textBox1.Text =="")//对输入值进行判断
'z0n!?gX?%k.O0   {51Testing软件测试网;eyoM-u:s3O h
    MessageBox.Show("请输入迭代次数"); 51Testing软件测试网H~P-K!d k
   }
6K#E3LV4d5c f*a0   else if(value >50)//对输入值不能超过50.因为一个ie内存为40000k/1024*50,已经可以达到预期效果
1_&_tpW.K[8I ]Q0   {
.hl({ [7Bx0    MessageBox.Show("请输入小于50的数");
7j/s hw_8cX0   }
Z#E)|$Y.m p0   else51Testing软件测试网oW&{BP+CLK.{:]
   { 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软件测试网TSPQ W b}
                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(zhF1A P*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 I I
  }
!k)VN'a Nc"y*M0 }51Testing软件测试网ru4Do$w_
}
 
代码比较简单,主要实现多线程,但是CPU和内存还是需要自己查看资源管理器去进行判断。
J)Q/C4h9KL0

TAG:

liulisuo的个人空间 引用 删除 liulisuo   /   2012-06-29 10:47:30
1
 

评分:0

我来说两句

Open Toolbar