2009-09-03 3 views
3

통합 테스트는 처음이지만 Se : IDE를 사용하여 일련의 테스트를 작성하는 데 성공했습니다. 테스트를 진행하면서 상당한 양의 데이터를 생성하고 나 혼자서 정리하고 싶습니다.Selenium IDE에서 쿼리 문자열 값의 URL 구문 분석

대부분의 테스트에는 새로운 '페이지'를 만드는 작업이 포함되며이 ID는 쿼리 문자열에서 사용할 수 있습니다. Se : IDE에 쿼리 문자열 값을 저장하고이를 확인하기 위해 delete 메소드를 호출하는 다른 페이지로 전달하고 싶습니다.

나는 storeLocation 명령을 사용할 수 있습니다. 그러나 querystring의 id 값을 구문 분석하고 Open을 사용하여 다른 페이지로 전달하는 방법을 모르겠습니다.

테스트를 C#으로 마이그레이션해야하는 시점에 도달 했습니까? 아니면 IDE를 사용하여 가능합니까?

답변

5

모든 테스트 케이스를 동일한 테스트 스위트 내에 보관하는 경우 그들은 문제없이 실행간에 변수를 공유 할 수 있습니다. 더 많은 정보를 원하시면 :

open | ${variable} | | 

참고 :

storeLocation | variable | | 

향후 시험에, 당신은

는 다음과 같은 변수를 사용하는 : 그래서, 당신이 할 일은 원하는 값을 저장하는 것입니다 이 http://seleniumhq.org/docs/03_selenium_ide.html#writing-a-test-suite

업데이트 :

이제 자바 스크립트 정규 표현을 사용할 수 있습니다 테스트 스위트에 살펴보고 이온 변수로부터 문자열을 얻을 :

storeEval | reg = /substring pattern/;reg.exec(${variable}) | substring 
open | ${substring} | | 

:

store | "012la4la" | a 
storeEval | re = /[0-3]*la/;re.exec(${a}) | new 
echo | ${new} | 

출력 :

[info] echo: 012la 
+0

글 로빙, 난 여전히 쿼리 문자열 값을 $ {변수}에 저장되어있는 URL을 구문 분석하는 문제가있다. 내가 querystring 값을 반환 할 수있는 방법, 또는 $ {variable}을 정규 표현식으로 구문 분석 할 수있는 방법이 필요합니다. –

+1

regexp – Santi

+0

을 사용하여 구문 분석해야 할 경우에 대비하여 게시물을 업데이트했습니다. Santi의 정규 표현식 솔루션은 제 것보다 다소 우아합니다. 건배 Santi. –

2

쿼리 스트링으로부터 ID 파라미터를 추출하기위한 빠른 예 다음과 같습니다 :

storeLocation | myLocation 
store | javascript{ storedVars['myLocation'].substring(storedVars['myLocation'].indexOf('id=')+3, storedVars['myLocation'].length); } | idValue 

여기서는 id 매개 변수가 쿼리 문자열의 마지막임을 가정합니다. 그렇지 않은 경우 '&'에 위치를 분할하고 'id'매개 변수 값에 대한 결과 배열을 반복 할 수 있습니다.

+0

Value 텍스트 상자에서 자바 스크립트를 실행합니까? –

+0

아, 그것을 알아 냈어, 내가 storeEval 저장된 변수에 대해 자바 스크립트를 실행하는 데 사용해야합니다. –

3

직장에서 비슷한 문제가 있었는데이 Q & 블로그를 통해 많은 도움을 받았습니다. 필자의 경우 aspx URL에서 쿼리 문자열 매개 변수를 제거하고 그 존재를 확인해야했습니다.

그리고 확인을 위해 (1) storeLocation, storeEval 및 verifyExpression에 2 단계 필터 접근 방식을 사용했습니다. 그것이 알고 매우 편리이지만 (2) verifyHTMLsource 및 문자열을

<tr> 
    <td>verifyLocation</td> 
    <td>http://qa.clockstock.com/confirmation.aspx?exrc=90210&amp;csrc=</td> 
    <td></td> 
</tr> 
<tr> 
    <td>storeLocation</td> 
    <td>urlconf</td> 
    <td></td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>${urlconf}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>storedVars['urlconf'].indexOf('exrc=90210');</td> 
    <td>exrcurlconf</td> 
</tr> 
<tr> 
    <td>verifyExpression</td> 
    <td>javascript{(storedVars['CIDurlconf']&gt;0)}</td> 
    <td>true</td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>storedVars['urlconf'].indexOf('csrc=');</td> 
    <td>CSRCurlconf</td> 
</tr> 
<tr> 
    <td>verifyExpression</td> 
    <td>javascript{(storedVars['CSRCurlconf']&gt;0)}</td> 
    <td>true</td> 
</tr> 
<tr> 
    <td>verifyHtmlSource</td> 
    <td>glob:*confirmation.aspx*exrc=90210*csrc=*</td> 
    <td></td> 
</tr>