分享和关爱由此萌生,测试的人生会像流水和氧气 ,逐渐逐渐染绿了山河,染蓝了天空,萌生了飞鸟鱼虫,遍地都是生命。这是寒武纪带给我们的这份喜悦和希望。

发布新日志

  • Appium搭建

    2017-07-13 21:43:38

    最近我 为了测试 APP的自动化测试

    搭建了 Appium  eclipse的环境,觉得真的比较复杂,而且在搭建环境的过程中,遇到了很多困难。

    也总结了一些经验:


    1:node.js
    必须使用版本比较低的node.js 比如 5.2.0

    2:为了保证运行正常,eclipse 必须使用最新的版本

    3:为了保证正常运行

    D:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\lib 文件中

    adb.js中

        var procs = [];
        var utlines = stdout.split("\n");
    下面必须添加如下的一行语句
        outlines.shift();  

    4: 
    Eclipse 中
    build path --- configure build path
    ---java compiler 中的  compliance level  数值
    尽可能的大

    5: 我使用的 java client 是
    java-client-2.2.0.jar


  • 学习Python

    2016-05-10 17:58:19

    Python添加到Eclipse简要说明
    1:需要在help--Install new software界面

    输入的url为

    重启

    2:Window > Preferences->Interpreters 添加Python

    3:添加Python的project

    4:添加Python的module


  • 已知网址和参数,获取cookie信息,打开另外一个网址及其参数的方法

    2016-04-22 14:53:04

    已知网址和参数,获取cookie信息,打开另外一个网址及其参数的方法
    1:已知网址和这个网址所携带的参数
    2:获取它的cookie值
    3:打开另外一个网址,并且也提交相应的参数
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;

    import org.openqa.grid.web.servlet.handler.WebDriverRequest;
    import org.openqa.selenium.remote.http.HttpRequest;
    import org.openqa.selenium.remote.http.HttpResponse;

    public class correct {

    public static String sendGet(String url, String param, String newurl, String post) {
    HttpURLConnection connection;
    String result2 = "";

    BufferedReader in2 = null;
    String urlNameString = url + "?" + param;
    URL realUrl;
    try {
    realUrl = new URL(urlNameString);

    String cookieVal = null;
    String sessionId = "";
    String key = null;

    if (realUrl != null) {
    try {

    connection = (HttpURLConnection) realUrl.openConnection();
    for (int i = 1; (key = connection.getHeaderFieldKey(i)) != null; i++) {
    if (key.equalsIgnoreCase("set-cookie")) {
    cookieVal = connection.getHeaderField(i);
    cookieVal = cookieVal.substring(0, cookieVal.indexOf(";"));
    sessionId = sessionId + cookieVal + ";";
    }
    }
    System.out.println(sessionId);
    } catch (MalformedURLException e) {
    System.out.println("url can't connection");
    return null;
    } catch (IOException e) {
    System.out.println(e.getMessage());
    return null;
    }
    }

    try {
    URL NewURL = new URL(newurl);
    connection = (HttpURLConnection) NewURL.openConnection();


    if (realUrl != null) {
    connection.setRequestProperty("Cookie", sessionId);
    }
    if (post != "") {
    connection.setDoOutput(true);
    connection.setRequestMethod("POST");
    connection.getOutputStream().write(post.getBytes());
    connection.getOutputStream().flush();
    connection.getOutputStream().close();
    }
    int responseCode = connection.getResponseCode();
    int contentLength = connection.getContentLength();
    if (responseCode != HttpURLConnection.HTTP_OK)
    return (null);


    in2 = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String line;
    while ((line = in2.readLine()) != null) {
    result2 += line;

    }
    } catch (Exception e) {
    return (null);
    }

    return result2;

    } catch (MalformedURLException e1) {
    e1.printStackTrace();
    }

    return result2;

    }
  • 连续打开多次浏览器并运行同一个脚本的方法

    2016-04-15 17:03:04

    1:使用Selenium IDE录制自动化脚本,并将脚本保存在 eclipse的 某个package下的 class中
    2:在同一个 package中建立另一个class,并调用前面的class。
    可以只调用一次,也可以循环调用多次。


    package testt;
    import org.junit.runner.JUnitCore;
    import org.junit.runner.Request;

    public class run {
    public static void main(String[] args) {
         /*   new Thread() {
                public void run() {
                    JUnitCore.runClasses(new Class[] { testt.class }); //这个是说要直接运行某一整个 class 中的所有方法。
                   //  new JUnitCore().run(Request.method(testt.class,"setUp")); //这个是指定 run 那个 class 中的哪个方法
                     
        } }.start();}} //new Thread() 
    */
    for (int i = 0; i< 10; i++)  
      {  
      new Thread() {  
      public void run() {  
      JUnitCore.runClasses(new Class[] { testt.class }); }}.start(); 
      }
      }
    }

    3:使用以下方法可以连续打开多个浏览器,并行的执行自动化程序
    public static void main(String agrs[]) {

            long startTime = System.currentTimeMillis(); 

             
            int threadNumber = 10;
          final CountDownLatch countDownLatch = new CountDownLatch(threadNumber);
            
            
            for (int i = 0; i < threadNumber; i++) {
                new Thread(new Runnable() {

                    public void run() {
                    ×××××××
                     
                      countDownLatch.countDown();
                 
                    }
                }).start();
                
               
              
            }

  • Eclipse Selenium Java操作步骤

    2014-12-04 19:57:23

     

    1:  http://docs.seleniumhq.org/download/

    2:下载selenium-server-standalone-2.44.0.jar


    3: selenium-java-2.44.0.zip-> 解压后生成selenium-java-2.44.0.jar


    4:打开EclipseFile -> new-> project->选择Java Project->next->输入Project name->点击next ->选择Library 标签->点击”Add external JARs…”按钮->选择刚才所下载的selenium-server-standalone-2.44.0.jarselenium-java-2.44.0.jar

    ->点击”Finish”按钮。




    5 这时候在左侧的Package Explorer中,就会有刚才创建的项目。



    6:右击项目名称->new -> class->输入Package 名称和class名称->点击Finish按钮


    7:打开Firefox浏览器,点击Tools->selenium IDE->Options->Format->HTML->点击Record按钮进行录制,录制完成之后,点击Options->Format->Java/Junit4/WebDriver


    Source中的内容CopyEclipse中的Class里面


     


    8:修改PackageClass的名字


    9:点击Run test按钮就可以进行运行了。


    10:到http://docs.seleniumhq.org/download/,下载一个Chrome driver,解压缩有,将这个exe文件放在一个目录之下



    11:在class文件中增加这样的语句,就可以用Google Chrome浏览器进行运行测试了。


    System.setProperty("webdriver.chrome.driver", "C:\\Shared Files\\workspace2\\AmyWu\\Browser Driver\\chromedriver.exe");


         


            driver = new ChromeDriver();





    PS

    有时候需要特别强调使用的firefox的地址

    可以添加此语句

     System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox2\\firefox.exe");  




    最近发现为什么最新的firefox无法使用selenium进行录制了,后来发现是版本问题
    1:使用45版本左右的firefox进行录制脚本
    2:使用更早的版本的firefox进行eclipse的调用
    调用firefox进行查看是否脚本正确





  • Selenium C# 测试步骤

    2014-05-13 13:00:54

    Selenium C# 中的测试要点
    1: VS2010中需要添加的DLL文件如下(注意,某些DLL是在http://docs.seleniumhq.org/download/下载,请选用匹配的.net 文件夹中的DLL文件,因为同样的DLL名称的文件会在不同文件夹中,请选对文件夹)



    2:C#语句参照的是
    网址:
    http://www.docin.com/p-748751347.html
    http://www.docin.com/p-747728551.html
    http://blog.163.com/ice_gbin/blog/static/175471755201412594154176/
    http://www.ibm.com/developerworks/cn/java/j-lo-keyboard/

    3:可以测试多种浏览器,我正在研究其中的用途中,希望能跟大家分享经验。
    多种浏览器打开的语句:
    不使用WEB Driver
    ISelenium selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.baidu.com/");
    //Open FireFox

    ISelenium selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy", "http://www.baidu.com/");
    //Open IE

    ISelenium selenium = new DefaultSelenium("localhost", 4444, "*googlechrome", "http://www.baidu.com/");
    //Open Google

    使用WEB Driver
     IWebDriver driver = new InternetExplorerDriver();
     IWebDriver driver = new ChromeDriver();
     IWebDriver driver = new OperaDriver();
              
      
    4: 我再总结一下流程
    参考:
    http://blog.csdn.net/chadcao/article/details/7989550
    1:下载IDE
    2:下载并安装jdk
    3:下载RC Server
    http://docs.seleniumhq.org/download/
     (启动Server后,就可以在VS2010中执行C#的脚本)
    4:下载selenium-remote-control-1.0.3 (因为里面有相关的DLL文件可以放到VS2010中使用)
    5:下载Selenium Client & WebDriver Lanugage Bindings
    http://docs.seleniumhq.org/download/ (因为里面有相关的DLL文件可以放到VS2010中使用)
    6:录制 , 编辑IDE的运行脚本,把以上相关的DLL文件放入VS2010中,运行RC Server,
    7:下各浏览器的WEB Driver Server
    http://docs.seleniumhq.org/download/
    IE WEB Driver Server :

    Chrome , Opera的 WEB Driver Server


    FireFox无需下载WEB Driver Server, 然后将下载的exe文件放在VS2010项目的bin\Debug目录下,在运行VS2010的时候自动会进行识别。

    Opera似乎并不支持VS2010,--下图并没有Opera选项,因此需要研究Opera如何支持VS2010.


    如有错误,请指正。




Open Toolbar