<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    網頁自動測試工具—SlimerJS

      SlimerJS 是一個提供給 Web 開發人員,可通過腳本編程控制的瀏覽器。它可以讓你使用Javascript 腳本操縱一個網頁:打開一個網頁,點擊鏈接,修改的內容等,這對于做功能測試,頁面自動機,網絡監控,屏幕捕獲等是非常有用的。
      事實上,它是類似 PhantomJS 的一個工具,但是 SlimerJS 只能運行在 Gecko (Firefox)上而不是Webkit。SlimerJS 提供幾乎和 PhantomJS 相同的 API,高度兼容 PhantomJS。SlimerJS 不僅是 PhantomJS 的一個克隆,還包含額外的功能。
      SlimerJS 兼容 CasperJS 1.1 beta!!
      示例代碼:
    var webpage = require('webpage').create();
    webpage
    .open('http://somewhere') // loads a page
    .then(function(){ // executed after loading
    // store a screenshot of the page
    webpage.viewportSize =
    { width:650, height:320 };
    webpage.render('page.png',
    {onlyViewport:true});
    // then open a second page
    return webpage.open('http://somewhere2');
    })
    .then(function(){
    // click somewhere on the second page
    webpage.sendEvent("click", 5, 5,
    'left', 0);
    slimer.exit()
    });

    posted @ 2014-10-30 11:22 順其自然EVO 閱讀(561) | 評論 (0)編輯 收藏

    TestNg測試框架使用

     安裝Eclipse插件
      For Eclipse 3.4 and above, enter http://beust.com/eclipse.
      For Eclipse 3.3 and below, enter http://beust.com/eclipse1.
      Maven支持TestNG
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.homeinns.web</groupId>
    <artifactId>homeinns-testng</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>homeinns-testng</name>
    <url>http://maven.apache.org</url>
    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
    <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.1.1</version>
    <scope>test</scope>
    </dependency>
    </dependencies>
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
    <suiteXmlFiles>
    <suiteXmlFile>testng.xml</suiteXmlFile>
    <!-- <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> -->
    </suiteXmlFiles>
    </configuration>
    </plugin>
    </plugins>
    </build>
    </project>
     配置TestNg suite
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite" parallel="none">
    <!--enabled="true"讓測試生效,也可根據情況關閉某些測試 -->
    <test name="Test" enabled="true">
    <!--指定參數 -->
    <parameter name="Name" value="Irving" />
    <parameter name="Sex" value="Man" />
    <!--指定測試包 -->
    <packages>
    <package name="com.homeinns.web.testng.*" />
    </packages>
    <!--指定測試類 -->
    <classes>
    <class name="com.homeinns.web.testng.AppTest" />
    </classes>
    </test> <!-- Test -->
    </suite> <!-- Suite -->
    TestNg注解配置
    public class NgTest {
    @Test
    public void f() {
    }
    @Test(
    // 在指定的時間內啟用3個線程并發測試本方法10次
    threadPoolSize = 3, invocationCount = 10, timeOut = 10000,
    // 等待測試方法t0測試結束后開始本測試
    dependsOnMethods = { "f" },
    // 指定測試數據源CLASS和數據源名稱(參考注解@DataProvider),返回幾條數據會跑測試方法幾次
    dataProvider = "generate", dataProviderClass = GeneratorRandomNum.class,
    // 分組名稱
    groups = { "checkin-test" })
    // 讀取配置文件中的參數,配置如上,用@Optional設置默認值
    @Parameters({ "Name" })
    public void f1(@Optional("name") String name) {
    }
    }
      測試報告
      運行測試后 在my-testng/test-output/ 目錄下(maven \target\surefire-reports)
      gradle配置
    subprojects {
    apply plugin: 'java'
    // Disable the test report for the individual test task
    test {
    reports.html.enabled = false
    }
    }
    task testReport(type: TestReport) {
    destinationDir = file("$buildDir/reports/allTests")
    //Include the results from the `test` task in all subprojects
    reportOn subprojects*.test
    }Grouping TestNG tests
    test {
    useTestNG {
    excludeGroups 'integrationTests'
    includeGroups 'unitTests'
    }
    }

    posted @ 2014-10-30 11:20 順其自然EVO 閱讀(198) | 評論 (0)編輯 收藏

    TestNG數組比較AssertJUnit.assertEquals

     TestNG支持對Junit4測試代碼的自動重構(@test tag)
      其中對于數組比較,
      Junit: assertEquals("msg", expected, actual);
      TestNG: AssertJUnit.assertEquals("msg", expected, actual);
      似乎這是一個delegate的處理方式。不過執行的時候報錯:
    java.lang.AssertionError: correct tokens expected:<[Ljava.lang.String;@941db6> but was:<[Ljava.lang.String;@2acc57>
    at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
    at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
    at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)...
      Baidu上一無所獲,于是google. 確認這是一個存在的bug。如下的link討論的是int[]的情況。估計string[]的情況類似。
      http://code.google.com/p/testng/issues/detail?id=4
      暫時的處理方法:繼續用junit的assert方法。但是用testNG來識別@test標記。
      //import org.testng.AssertJUnit;
      import static org.junit.Assert.*;

    posted @ 2014-10-30 11:18 順其自然EVO 閱讀(685) | 評論 (0)編輯 收藏

    Junit在MyEclipse上怎么用?

      在項目中加入junit-x.x.jar包
      在MyEclipse在package上右鍵 可以找到 Junit Test Case
      這就是負責單元測試的類
      只要在合適的包中 一般在對應待測試類的test包中 新建Junit Test Case
      然后可以選擇 對哪個類 的哪個方法進行測試
      MyEclipse就會自動生成測試類框架
      如果要用4以上推出的 assertThat(T actual,org.hamcrest.Matcher<T> matcher)方法
      需要引入hamcrest中的hamcrest-core.jar hamcrest-library.jar兩個包
      由assertThat第二個參數名可以看出 是由hamcrest定義的

    posted @ 2014-10-30 11:17 順其自然EVO 閱讀(420) | 評論 (0)編輯 收藏

    如何使用Nikto漏洞掃描工具檢測網站安全

     Nikto是一款開放源代碼的、功能強大的WEB掃描評估軟件,能對web服務器多種安全項目進行測試的掃描軟件,能在230多種服務器上掃描出 2600多種有潛在危險的文件、CGI及其他問題,它可以掃描指定主機的WEB類型、主機名、特定目錄、COOKIE、特定CGI漏洞、返回主機允許的 http模式等等。它也使用LibWhiske庫,但通常比Whisker更新的更為頻繁。Nikto是網管安全人員必備的WEB審計工具之一。
      Nikto最新版本為2.0版,可以去官方下載
      Nikto是基于PERL開發的程序,所以需要PERL環境。Nikto支持Windows(使用ActiveState Perl環境)、Mac OSX、多種Linux 或Unix系統。Nikto使用SSL需要Net::SSLeay PERL模式,則必須在Unix平臺上安裝OpenSSL。具體的可以參考nikto的幫助文檔。
      從官方網站上下載nikto-current.tar.gz文件,在Linux系統解壓操作:
      tar -xvf nikto-current.tar.gz
      gzip -d nikto-current.tar
      解壓后的結果如下所示:
      Config.txt、docs、kbase、nikto.pl、plugins、 templates
      Nikto的使用說明:
      Nikto掃描需要主機目標IP、主機端口。默認掃描的是80端口。掃描主機目標IP地址可以使用選項-h(host)。下面將掃描IP為192.168.0.1的TCP 80端口,如下所示:
      perl nkito.pl –h 192.168.0.1
      也可以自定義掃描的端口,可以使用選項-p(port),下面將掃描IP為192.168.0.1的TCP 443端口,如下所示:
      perl nikto.pl –h 192.168.0.1 –p 443
      Nikto也可以同時掃描多個端口,使用選項-p(port),可以掃描一段范圍(比如:80-90),也可以掃描多個端口(比如:80,88,90)。下面掃描主機的80/88/443端口,如下所示:
      Perl nikto.pl –h 192.168.0.1 –p 80,88,443
      如果運行Nikto的主機是通過HTTP proxy來訪問互聯網的,也可以使用代理來掃描,使用選項-u(useproxy)。下面將通過HTTP proxy來掃描,如下所示:
      Perl nikto.ph –h 192.168.0.1 –p 80 –u
      Nikto的更新:
      Nikto的升級可以通過-update的命令來更新插件和數據庫,如下所示:
      Perl nikto.ph –update
      也可以通過從網站下載來更新插件和數據庫:[url]http://updates.cirt.net/[/url]
      Nikto的選項說明:
      -Cgidirs
      掃描CGI目錄。
      -config
      使用指定的config文件來替代安裝在本地的config.txt文件
      -dbcheck
      選擇語法錯誤的掃描數據庫。
      -evasion
      使用LibWhisker中對IDS的躲避技術,可使用以下幾種類型:
      1.隨機URL編碼(非UTF-8方式)
      2.自選擇路徑(/./)
      3.虛假的請求結束
      4.長的URL請求
      5.參數隱藏
      6.使用TAB作為命令的分隔符
      7.大小寫敏感
      8.使用Windows路徑分隔符\替換/
      9.會話重組
     -findonly
      僅用來發現HTTP和HTTPS端口,而不執行檢測規則
      -Format
      指定檢測報告輸出文件的格式,默認是txt文件格式(csv/txt/htm)
      -host
      目標主機,主機名、IP地址、主機列表文件。
      -id
      ID和密碼對于授權的HTTP認證。格式:id:password
      -mutate
      變化猜測技術
      1.使用所有的root目錄測試所有文件
      2.猜測密碼文件名字
      3.列舉Apache的用戶名字(/~user)
      4.列舉cgiwrap的用戶名字(/cgi-bin/cgiwrap/~user)
      -nolookup
      不執行主機名查找
      -output
      報告輸出指定地點
      -port
      掃描端口指定,默認為80端口。
      -Pause
      每次操作之間的延遲時間
      - Display
      控制Nikto輸出的顯示
      1.直接顯示信息
      2.顯示的cookies信息
      3.顯示所有200/OK的反應
      4.顯示認證請求的URLs
      5.Debug輸出
      -ssl
      強制在端口上使用SSL模式
      -Single
      執行單個對目標服務的請求操作。
      -timeout
      每個請求的超時時間,默認為10秒
      -Tuning
      Tuning 選項控制Nikto使用不同的方式來掃描目標。
      0.文件上傳
      1.日志文件
      2.默認的文件
      3.信息泄漏
      4.注射(XSS/Script/HTML)
      5.遠程文件檢索(Web 目錄中)
      6.拒絕服務
      7.遠程文件檢索(服務器)
      8.代碼執行-遠程shell
      9.SQL注入
      a.認證繞過
      b.軟件關聯
      g.屬性(不要依懶banner的信息)
      x.反向連接選項
      -useproxy
      使用指定代理掃描
      -update
      更新插件和數據庫
      例子:使用Nikto掃描目標主機10.0.0.12的phpwind論壇網站。
      Perl nikto.pl –h 10.0.0.12 –o test.txt
      通過上面的掃描結果,我們可以發現這個Phpwind論壇網站,是在windows操作系統上,使用Apache/2.2.4版本,Php/5.2.0版本,以及系統默認的配置文件和路徑等。
      綜上所述,Nikto工具可以幫助我們對Web的安全進行審計,及時發現網站存在的安全漏洞,對網站的安全做進一步的掃描評估。

    posted @ 2014-10-30 11:16 順其自然EVO 閱讀(646) | 評論 (0)編輯 收藏

    BurpSuite之HTTP brute暴力破解

     常規的對username/passwprd進行payload測試,我想大家應該沒有什么問題,但對于Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=這樣的問題,很多朋友疑惑了.
      之前,我記得我介紹過burpsuite的intruder功能(BurpSuite之SQL Injection),想必很多人沒什么印象,在此,以HTTP brute重提intruder功能.
      以下面案例進行說明(只作演示之用,具體以自己的目標為準):
      Auth=dXNlcjpwYXNzd29yZA==處,也就是我們的關鍵位置.
      那么具體該如何做呢?大致操作過程如下:
      1.解密base64字符串
      2.生成測試用的payload
      3.利用payload進行測試
      1.解密驗證用的base64字符串
      解密后的字符串為:
      Auth=user:password
      問題來了,針對user:password這種形式的字符串,我們該如何設置payload呢?
      想必很多人在此處了費盡心思。為了解決這個問題,接下來請看第二部分。
      2.生成測試用的payload
      對于這種格式,無法利用burpsuite順利的完成測試,那個就需要豐富對應的payload了.
      我的做法就是,利用burpsuite生成我要的payload文本.
      Auth=§user§§:§§password§
     設置3處payloads,
      1 ------ §user§
      2 ------ §:§
      3 ------ §password§
      然后根據intruder自帶的battering ram/pitchfork/cluster bomb生成payloads(根據自己的需求生成)
      我在此處選擇以cluster bomb為例,利用intruder生成需要的payloads,然后保存到文本文件中.
      3.利用payload進行測試
      測試的時候,我們選用sniper,我們只需一個payload變量

    posted @ 2014-10-30 11:16 順其自然EVO 閱讀(245) | 評論 (0)編輯 收藏

    漏洞掃描工具-Nikto漏洞掃描工具調研

     簡介:
      Nikto是一款開放源代碼的、功能強大的WEB掃描評估軟件,能對web服務器多種安全項目進行測試的掃描軟件,能在230多種服務器上掃描出 2600多種有潛在危險的文件、CGI及其他問題,它可以掃描指定主機的WEB類型、主機名、特定目錄、COOKIE、特定CGI漏洞、返回主機允許的 http模式等等。它也使用LibWhiske庫,但通常比Whisker更新的更為頻繁。
      以下在10.46.170.167上部署測試:
      下載最新版Nikto
      http://211.138.156.198:81/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/www.cirt.net/nikto/nikto-2.1.5.tar.bz2
      安裝Nikto
      [root@gyfd ~]# tar jxvf nikto-2.1.5.tar.bz2
      [root@gyfd ~]# mv nikto-2.1.5 /usr/local/
      使用
      (1). 基本測試
      [root@gyfd ~]# cd /usr/local/nikto-2.1.5
      ----------------------------------------------------------------------------------------------------------------------------
      [root@gyfd nikto-2.1.5]# perl nikto.pl -h 10.46.169.24 -p80 -output text.txt
      說明:-h 指定被掃描的IP或者主機名
      -p 指定被掃描的端口,沒有指定則默認80,可指定掃描范圍或者多個端口
      -output 指定掃描結果保存文件。可保存的格式為text, CSV, HTML, XML, NBE等。
      掃描結果:(會在終端中顯示,同時保存到指定的文件中)
      [root@gyfd nikto-2.1.5]# perl nikto.pl -h10.46.169.24 -p 80 -output text.txt
      - ***** SSL support not available (see docsfor SSL install) *****
      - Nikto v2.1.5
      ---------------------------------------------------------------------------
      + Target IP:          10.46.169.24
      + Target Hostname:    10.46.169.24
      + Target Port:        80
      + Start Time:         2014-08-20 17:08:58 (GMT8)
      ---------------------------------------------------------------------------
      + Server: Apache
      + Uncommon header 'x-frame-options' found,with contents: SAMEORIGIN
      + No CGI Directories found (use '-C all' toforce check all possible dirs)
      + Allowed HTTP Methods: GET, HEAD, POST, OPTIONS
      + 6544 items checked: 0 error(s) and 2item(s) reported on remote host
      + End Time:           2014-08-20 17:09:15 (GMT8) (17seconds)
      ---------------------------------------------------------------------------
      + 1 host(s) tested
      ---------------------------------------------------------------------------------------------------------------------------

    posted @ 2014-10-30 11:15 順其自然EVO 閱讀(285) | 評論 (0)編輯 收藏

    LoadRunner中寫文件的案例

     背景:loadrunner webservice協議編寫的腳本中,寫文件。
      策略:
      1、loadruner中是不支持File數據類型的,所以用int或者long來聲明一個文件;
      2、關于文件處理的幾種方法。《關于C語言的fprintf與fwrite使用區別》這篇文章中解釋得很詳細,選用fprintf 方法;
      3、fopen()方法。可參考:《LoadRunner下如何進行文件的操作》
      fopen(filename,"a")) :文件存在,就覆蓋寫,不存在會先創建。為了不讓它每次覆蓋,我在fprintf()中使用了“%s\n”,每次都換行追加;
      有人試過fopen(filename,"a+")) ,這樣寫的效果是一樣的。
      實現:
    Action{
    long file_stream;
    char *filename = "c:\\001.txt";
    soap_request(此段省略,即webservice協議的兩種生成腳本方式);
    // 將response出力
    lr_message(lr_eval_string("Response is: \n {response}"));  // 此處response是無須定義的,原因自己理解
    // 取所需的依賴字段,關鍵函數lr_xml_get_values
    lr_xml_get_values("XML = {response}",
    "ValueParam = ValueParam ",
    "Query = XXX",
    LAST);  // 此函數自行理解使用方法
    // 本文重點 寫文件
    if((file_stream = fopen(filename,"a")) == NULL){
    lr_error_message("Cannot open %s",filename);
    return -1;
    }
    fprintf(file_stream,"%s\n",lr_eval_string("{ValueParam }"));
    fclose(file_stream);
    return 0;
    }
      總結:不是很難的代碼,只是編寫過程中學會舉一反三,不拘泥于一種文件操作方法。

    posted @ 2014-10-30 11:14 順其自然EVO 閱讀(319) | 評論 (0)編輯 收藏

    Selenium grid 使用方法

    代碼和selenium driver相同 只是 啟動環境方式不同。至少啟動一個hub 一個 node 。如需要多個,可以使用端口進行區分。
    java -jar selenium-server-standalone-x.xx.x.jar -role node -port 5555
    java -jar selenium-server-standalone-x.xx.x.jar -role node -port 5556
    java -jar selenium-server-standalone-x.xx.x.jar -role node -port 5557
      代碼如下
    WebDriver wd = new RemoteDriver("http://localhost:4444/wd/hub", aDesiredcap);
    //test01: 只匹配Windows下的ie來執行此用例,版本不限;多個版本匹配成功時優先級暫未知
    DesiredCapabilities aDesiredcap = DesiredCapabilities();
    aDesiredcap.setBrowserName("internet explorer")
    aDesiredcap.setVersion("")
    aDesiredcap.setPlatform(Platform.WINDOWS)
    WebDriver wd = new RemoteDriver("http://localhost:4444/wd/hub", aDesiredcap);
    wd.doSomething()
    //test02: 只匹配linix下的firefox的版本為22的瀏覽器執行用例;
    DesiredCapabilities aDesiredcap = DesiredCapabilities("firefox", "22", Platform.LINUX);
    WebDriver wd = new RemoteDriver("http://localhost:4444/wd/hub", aDesiredcap);
    wd.doSomething()
    //test03: 只匹配MAC下的safari瀏覽器執行,版本不限
    DesiredCapabilities aDesiredcap = DesiredCapabilities.safari();
    aDesiredcap.setPlatform(Platform.MAC)
    WebDriver wd = new RemoteDriver("http://localhost:4444/wd/hub", aDesiredcap);
    wd.doSomething()
    //test04: 只匹配chrome瀏覽器,任意平臺,任意版本
    DesiredCapabilities aDesiredcap = DesiredCapabilities.chrome();
    aDesiredcap.setPlatform(Platform.ANY)
    WebDriver wd = new RemoteDriver("http://localhost:4444/wd/hub", aDesiredcap);
    wd.doSomething()

    posted @ 2014-10-30 11:13 順其自然EVO 閱讀(650) | 評論 (0)編輯 收藏

    Jmeter常見問題

      說明:這些問答是從網上轉載的,自己修改了其中的一些內容,如果大家興趣,可以將大家在使用Jmeter的時候碰到的問題寫下來,我們一起補充到這個問答里面,共同努力完善jmeter的資料。
      1.  JMeter的工作原理是什么?
      向服務器提交請求;從服務器取回請求返回的結果。
      2.  JMeter的作用?
      JMeter可以用于測試靜態或者動態資源的性能(文件、Servlets、Perl腳本、java對象、數據庫和查詢、ftp服務器或者其他的資源)。JMeter用于模擬在服務器、網絡或者其他對象上附加高負載以測試他們提供服務的受壓能力,或者分析他們提供的服務在不同負載條件下的總性能情況。你可以用JMeter提供的圖形化界面分析性能指標或者在高負載情況下測試服務器/腳本/對象的行為。
      3.   怎樣能看到jmeter提供的腳本范例?
      在\JMeter\jakarta-jmeter-2.0.3\xdocs\demos目錄下。
      4.   怎樣設置并發用戶數?
      選中可視化界面中左邊樹的Test Plan節點,單擊右鍵,選擇Add-> Thread Group,其中Number of Threads參數用來設置發送請求的用戶數目。
      5.  JMeter的運行指示?
      Jmeter在運行時,右上角有個單選框大小的小框框,運行是該框框為綠色,運行完畢后,該框框為白色。
      6.  User Parameters的作用是什么?
      提高腳本可用性
      7.   在result里會出現彩色字體的http response code,說明什么呢?
      Http response code是http返回值,彩色字體較引人注目,可以使用戶迅速關注。象綠色的302就說明在這一步驟中,返回值取自本機的catch,而不是server
      8.   怎樣計算Ramp-up period時間?
      Ramp-up period是指每個請求發生的總時間間隔,單位是秒。如果Number of Threads設置為5,而Ramp-up period是10,那么每個請求之間的間隔就是10/5,也就是2秒。Ramp-up period設置為0,就是同時并發請求。
      9.    Get和Post的區別?
      他們是http協議的2種不同實現方式。Get是指server從Request URL取得所需參數。從result中的request中可以看到,get可以看到參數,但是post是主動向server發送參數,所以一般看不到這些參數的。
      10. 哪些原因可能導致error的產生?
      a.   Http錯誤,包括不響應,結果找不到,數據錯誤等等;
      b.   JMeter本身原因產生的錯誤。
      11. 為什么Aggregate Report結果中的Total值不是真正的總和?
      JMeter給結果中total的定義是并不完全指總和,為了方便使用,它的值表現了所在列的代表值,比如min值,它的total就是所在列的最小值。下圖就是total在各列所表示的意思。
      12.  JMeter的Thread Number是提供多個不同用戶并發的功能么?
      不是,Thread Number僅僅是指并發數,如果需要實現多個不同用戶并發,我們應該采用其它方法,比如通過在jmeter外建立csv文件的方法來實現。
      13. 同時并發請求時,若需要模擬不同的用戶同時向不同的server并發請求,怎樣實現呢?
      方法很靈活,我們可以將不同的server在thread里面預先寫好。或者預先將固定的變量值寫入csv文件,這樣還可以方便修改。然后將文件添加到User Parameters。
      14.   User Parameter中的DUMMY是什么意思?
      當其具體內容是${__CSVRead(${__property(user.dir)}${FILENAME},next())}時用來模擬讀文件的下一行。
      15.   當測試對象在多server間跳轉時,應該怎樣處理?
      程序運行時,有些http和隱函數會攜帶另外的server IP,我們可以從他們的返回值中獲取。
      16.   為何測試對象是http和https混雜出現?
      Https是加密協議,為了安全,一般不推薦使用http,但是有些地方,使用https過于復雜或者較難實現,會采用http協議。
      17.   Http和https的默認端口是什么?
      Apache server (Http)的默認端口是80;
      SSL (Https)的默認端口是443。
      18.   為何在run時,有些頁面失敗,但是最后不影響結果?
      原因較多,值得提及的一種是因為主流頁面與它不存在依賴關系,所以即使這樣的頁面出錯,也不會影響運行得到正常結果,但是這樣會影響到測試的結果以及分析結果。
      19. 為什么腳本剛開始運行就有錯誤,其后來的腳本還可運行?
      在Thread Group中有相關設置,如果選擇了continue,即使前面的腳本出現錯誤,整個thread仍會運行直到結束。選擇Stop Thread會結束當前thread;選擇Stop Test則會結束全部的thread。推薦選項是Stop Thread。
      20.     在Regular expression_r Extractor會看到Template的值是$1$,這個值是什么意思呢?
      $1$是指取第一個()里面的值。如果Regular expression_r的數值有多個,用這種方法可以避免不必要的麻煩。
     21.    Regular expression_r中的(.*)是什么意思?
      那是一個正則表達式(regular expression_r)。’.’等同于sql語言中的’?’,表示可有可無。’*’表示0個或多個。’()’表示需要取值。(.*)表達任意長度的字符串。
      22.   在讀取Regular expression_r時要注意什么?
      一定要保證所取數值的絕對唯一性。
      23.   怎樣才能判斷什么樣的情況需要添加Regular expression_r Extractor?
      檢查Http Request中的Send Parameters,如果有某個參數是其前一個page中所沒有給出的,就要到原文件中查找,并添加Regular expression_r Extractor到其前一page的http request中。
      24.   在自動獲取的腳本中有時會出現空的http request,是什么意思呢?
      是因為在獲取腳本時有些錯誤,是腳本工具原因。在run時這種錯誤不參與運行的。
      25.   在運行結果中為何有rate為N/A的情況出現?
      可能因為JMeter自身問題造成,再次運行可以得到正確結果。
      26.   常用http錯誤代碼有哪些?
      400無法解析此請求。
      403禁止訪問:訪問被拒絕。
      404找不到文件或目錄。
      405用于訪問該頁的HTTP動作未被許可。
      410文件已刪除。
      500服務器內部錯誤。
      501標題值指定的配置沒有執行。
      502 Web服務器作為網關或代理服務器時收到無效的響應。
      27.    Http request中的Send Parameters是指什么?
      是指code中寫定的值和自定義變量中得到的值,就是在運行頁面時需要的參數。
      28.    Parameters在頁面中是不斷傳遞的么?
      是的。參數再產生后會在頁面中一直傳遞到所需頁面。所以我們可以在動態參數產生時捕獲它,也可以在所需頁面的上一頁面捕獲。(但是這樣可能有錯誤,最好在產生頁面獲取)
      29.   在使用JMeter測試時,是完全模擬用戶操作么?造成的結果也和用戶操作完全相同么?
      是的。JMeter完全模擬用戶操作,所以操作記錄會全部寫入DB.在運行失敗時,可能會產生錯誤數據,這就取決于腳本檢查是否嚴謹,否則錯誤數據也會進入DB,給程序運行帶來很多麻煩。

    posted @ 2014-10-30 11:13 順其自然EVO 閱讀(226) | 評論 (0)編輯 收藏

    僅列出標題
    共394頁: First 上一頁 28 29 30 31 32 33 34 35 36 下一頁 Last 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品jizz在线观看免费| 91免费福利视频| 四虎永久在线观看免费网站网址| 亚洲AV一宅男色影视| 免费人成毛片动漫在线播放| 水蜜桃亚洲一二三四在线| 18禁止看的免费污网站| 亚洲精品白色在线发布| 国产精彩免费视频| 亚洲AV日韩AV永久无码色欲| 又大又粗又爽a级毛片免费看| 男女拍拍拍免费视频网站| 亚洲国产无套无码av电影| 中文字幕视频免费| 国产精品久久久久久亚洲小说| 亚洲乱码中文字幕手机在线| 亚洲精品国产成人影院| 日韩精品视频免费在线观看| a免费毛片在线播放| 亚洲高清无在码在线电影不卡| 大陆一级毛片免费视频观看| 全部一级一级毛片免费看| 亚洲V无码一区二区三区四区观看| 亚洲一级特黄无码片| **aaaaa毛片免费| 久久久久久国产精品免费免费男同| 亚洲小说图区综合在线| mm1313亚洲精品国产| 精品成人免费自拍视频| 大地资源在线资源免费观看 | 日韩免费高清一级毛片| 亚洲色爱图小说专区| 欧美日韩国产免费一区二区三区 | 大学生一级特黄的免费大片视频| av无码久久久久不卡免费网站| 亚欧人成精品免费观看| 三年片免费观看大全国语| 亚洲乱码国产乱码精华| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲高清视频一视频二视频三| 久久免费看黄a级毛片|