# Gemfile
source 'https://rubygems.org'
gem 'selenium-webdriver'
gem 'rspec'
시작하기
테스트 또는 스위트를 마우스 오른쪽 단추로 클릭하고 [내보내기/Export]를 선택하고 대상 언어를 선택한 후 [내보내기/Export]를 클릭하여 테스트 또는 테스트 스위트(suite)를 WebDriver 코드로 내보낼 수 있습니다.
대상 언어에 대해 내 보낸 코드가 포함 된 파일이 브라우저의 다운로드 디렉토리에 저장됩니다.
원점 추적 코드 설명
내보낼 때 원점 추적 코드 주석을 활성화하는 옵션 토글이 있습니다.
그러면 Selenium IDE의 테스트 단계에 대한 세부 정보가 포함 된 인라인 코드 주석이 내 보낸 파일에 생성됩니다.
지원되는 내보내기
현재 다음 언어 및 테스트 프레임 워크로 내보내기가 지원됩니다.
- C # NUnit
- 자바 JUnit
- 자바 스크립트 모카
- 파이썬 pytest
각 언어에 대해 최소한 하나의 테스트 프레임 워크에서 공식적으로 지원되는 Selenium에 대한 모든 프로그래밍 언어 바인딩 (예 : Java, JavaScript, C #, Python 및 Ruby)을 지원됩니다.
C # NUnit
C # NUnit에 대해 내 보낸 코드는 .NET Core , NUnit 3.11 및 최신 버전의 Selenium과 작동하도록 빌드되었습니다 .
NUnit과 함께 작동 할 새로운 상용구 프로젝트를 생성하려면 [dotnet new] 명령을 사용하십시오 .
dotnet new nunit -n NUnit-Tests --framework netcoreapp2.0
[.csproj] 파일을 사용하면 [dotnet restore] 명령을 사용하여 올바른 패키지 및 버전을 설치할 수 있습니다.
<!-- filename: example.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="nunit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.13.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="Selenium.Support" Version="4.0.0-alpha03" />
<PackageReference Include="Selenium.WebDriver" Version="4.0.0-alpha03" />
</ItemGroup>
</Project>
C # xUnit
C # xUnit에 대해 내 보낸 코드는 C #, xUnit 및 최신 버전의 Selenium과 작동하도록 빌드되었습니다. C # Nunit과 마찬가지로 dotnet 도구를 사용하여 설치하고 이러한 종속성을 설치 한 후 (예 : [Install-Package Selenium.WebDriver] 또는 [dotnet add package Selenium.WebDriver]) 실행할 수 있습니다.
> dotnet new xUnitTests
.csproj파일을 사용하면 [dotnet restore] 명령을 사용하여 올바른 패키지 및 버전을 설치할 수 있습니다 .
<!-- filename: example.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="Selenium.Support" Version="4.0.0-alpha03" />
<PackageReference Include="Selenium.WebDriver" Version="4.0.0-alpha03" />
</ItemGroup>
</Project>
> dotnet restore example.csproj
자바 JUnit
Java JUnit 용으로 내 보낸 코드는 Java 8, JUnit 4.12 및 최신 버전의 Selenium과 작동하도록 빌드되었습니다.
내 보낸 Java 파일을 가져 와서 이러한 종속성을 나열한 pom.xml 파일이있는 표준 Maven 디렉토리 구조에 배치하고 실행할 수 있어야합니다.
시작하는 데 도움이되는 샘플 pom.xml이 있습니다
<modelVersion>4.0.0</modelVersion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-ide-java-code-export</artifactId>
<version>1</version>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0-alpha-3</version>
</dependency>
</dependencies>
</project>
자바 스크립트 모카
JavaScript Mocha 용으로 내 보낸 코드는 Node 10, Mocha 6.1.x 및 최신 버전의 Selenium과 작동하도록 빌드되었습니다.
내 보낸 JavaScript 파일을 가져 와서 이러한 종속성을 설치 한 후 (예 : npm install) 실행할 수 있어야합니다 .
package.json시작하는 데 도움이 되는 샘플은 다음과 같습니다 .
{
"dependencies": {
"mocha": "^6.1.4",
"selenium-webdriver": "^4.0.0-alpha.3"
}
}
파이썬 pytest
Python pytest 용으로 내 보낸 코드는 Python 3, pytest 4.6.x 및 최신 버전의 Selenium에서 작동하도록 빌드되었습니다.
내 보낸 JavaScript 파일을 가져 와서 이러한 종속성을 설치 한 후 (예 : pip3 install) 실행할 수 있어야합니다 .
requirements.txt시작하는 데 도움이 되는 샘플은 다음과 같습니다 .
pytest == 4.6.3
selenium == 4.0.0a1
> pip3 install -r ./requirements.txt
루비 RSpec
Ruby Rspec 용으로 내 보낸 코드는 Ruby 2.6.x, RSpec 3.9.x 및 최신 버전의 Selenium에서 작동하도록 빌드되었습니다.
번들러와 다음 [Gemfile]을 사용하여 필요한 종속성을 설치할 수 있습니다.
# Gemfile
source 'https://rubygems.org'
gem 'selenium-webdriver'
gem 'rspec'
> gem install bunder
> bundle install
참여하는 방법
코드 내보내기는 기여를 가능하게하는 모듈 방식으로 구축되었습니다.
각 언어 및 테스트 프레임 워크에는 내보낼 코드가 포함 된 자체 패키지가 있습니다. 각 코드 스니펫은 Selenium IDE의 명령에 매핑되며 이러한 각 패키지는 모든 무거운 작업을 수행하는 기본 "코어"패키지에 의존합니다.
다음은 이미 설정된 언어 내에서 새 언어 또는 새 테스트 프레임 워크를위한 단계를 만드는 단계입니다.
1. 새로운 패키지 만들기
먼저 기존 언어 패키지 (예 : packages / code-export-java-junit)를 복사하고 이름을 바꾸십시오 (예 : [package.json] 파일의 폴더 및 세부 사항) 원하는 대상 언어 및 프레임 워크로 기여하기 위해 (예를 들어, 패키지 / 코드-내보내기-루비 -rspec 등). 그런 다음 [code-export]의 [package.json]에 대한 종속성으로 새 패키지를 추가하십시오. 마지막으로 프로젝트 루트에서 [yarn]을 실행 한 다음 [yarn watch]를 사용하여 프로젝트를 빌드하십시오
로케이터 및 명령 업데이트
코드 내보내기의 빵과 버터는 언어 별 문자열이며 출력 코드로 바뀝니다. 이들 중 가장 눈에 띄는 것은 명령 및 로케이터 전략입니다 (예 : "by"조회 구문).
주어진 언어에는 테스트 파일과 함께 파일이 있습니다.
packages/code-export-java-junit.에서 예를 볼 수 있습니다
명령
명령 테스트
로케이터 전략
로케이터 전략 테스트
새 명령을 선언 할 때 출력을 문자열로 지정 하거나 들여 쓰기 수준을 지정하는 객체로 지정할 수 있습니다.
코드 내보내기에는 내장 된 코드의 들여 쓰기를 제어하는 프리티 파이어가 내장되어 있습니다. 이 구조는 명령의 출력이 자세하고 명시적일 때 또는 명령이 명령 뒤에 오는 명령의 들여 쓰기 레벨을 변경하는 경우 유용합니다.
3. 고리 만들기
후크는 내보낼 코드 구조의 대부분을 구성합니다 (예 : 스위트, 테스트 및 설정, 해제 등의 모든 항목). 또한 플러그인으로 코드를 테스트 또는 스위트의 다른 부분으로 내보낼 수 있습니다.
9 가지 후크가 있습니다 :
- afterAll (모든 테스트가 완료된 후)
- afterEach(각 테스트가 완료된 후-[afterAll] 이전 )
- beforeAll (모든 테스트가 실행되기 전에)
- beforeEach(각 테스트가 실행되기 전-[beforeAll] 이후 )
- command (플러그인에 의해 추가 된 새로운 명령에 대한 코드를 방출)
- dependency (추가 언어 의존성 추가)
- inEachBegin (각 테스트에서 시작시)
- inEachEnd (각 테스트에서, 끝에서)
- variable (스위트 전체에서 사용할 새 변수를 선언하십시오)
packages/code-export-java-junit에서 구현되는 후크의 예를 볼 수 있습니다 .
4. 언어 별 속성 업데이트
각 언어에서 몇 가지 하위 수준 세부 정보를 지정해야합니다. 들여 쓰기 할 공간 수, 메소드 선언 방법, 테스트, 스위트 등
packages/code-export-java-junit에서 구현되는 예를 볼 수 있습니다.
5. 믹스에 추가
다른 모든 것이 준비되면 UI에서 사용할 수 있도록 연결해야합니다.
packages/code-export/src/index.js.에서 가능합니다.
availableLanguages.에 언어를 추가해야합니다.
6. 테스트 및 조정
코드 내보내기를 위한 최고의 엔드 투 엔드 테스트는 일련의 테스트를 내보내고 예상대로 실행되는지 확인하는 것입니다.
개발 빌드에서 시드 테스트에 액세스 할 수 있습니다. 모든 표준 라이브러리 명령이 새 언어에서 작동하는지 확인하기에 좋은 출발점입니다.
최종 결과에 확신이있을 때까지 테스트, 수정 및 다시 테스트하십시오.
7. PR 제출
당신은 어려운 부분을 완료했습니다. 이제 PR 제출의 간단한 문제입니다. v3지점 에 대해 그렇게하십시오 .
.csproj파일을 사용하면 [dotnet restore] 명령을 사용하여 올바른 패키지 및 버전을 설치할 수 있습니다 .
'자동화테스트 > Selenium' 카테고리의 다른 글
셀레니움 ide 명령어 (1) | 2020.02.20 |
---|---|
셀레니움 ide 자주 묻는 질문 (0) | 2020.02.19 |
셀레니움 IDE - 제어 흐름 (0) | 2020.02.17 |
[selenium] 셀레니움 IDE 커맨드라인러너(Command-line Runner) (0) | 2020.02.14 |
[selenium] 셀레니움 IDE 기본 기능 알아보니... (0) | 2020.02.13 |