거의 자동화 테스트가 시작되었으므로 명확히 할 수 없으면 사과하고 싶습니다.Selenium 및 NUnit을 사용한 UI 자동화 테스트 실행
그래서, 자동화에 대한 블로그를 읽는의 2 주 후에, 나는 UI 자동화를위한 셀레늄 Webdriver와 NUNIT를 사용하기로 결정했습니다.
내 응용 프로그램은 3 년 동안 개발 중이다. 프로젝트 및 포트폴리오 관리 시스템입니다.
나는 수백 페이지가 있으며 그 중 약 50 %는 CRUD 작업을 수행합니다.
[
{
"Name": "Finance",
"Description": "division with complete test data",
"Color": "#ff0000",
"ExpectedStatus": {
"WillBeAdded": true,
"WillBeDeleted": true,
"WillBeUpdated": true
},
"PerformableActions": {
"ShouldAdd": true,
"ShouldDelete": false,
"ShouldUpdate": true
}
},
{
"Name": "IT",
"Description": "IT projects",
"Color": "pink",
"ExpectedStatus": {
"WillBeAdded": true,
"WillBeDeleted": true,
"WillBeUpdated": true
},
"PerformableActions": {
"ShouldAdd": true,
"ShouldDelete": false,
"ShouldUpdate": true
}
},
{
"Name": "Business",
"Description": "division with name and color name",
"Color": "yellow",
"ExpectedStatus": {
"WillBeAdded": true,
"WillBeDeleted": true,
"WillBeUpdated": true
},
"PerformableActions": {
"ShouldAdd": true,
"ShouldDelete": false,
"ShouldUpdate": true
}
},
{
"Name": "",
"Description": "division without name and color name, should add white color",
"Color": "",
"ExpectedStatus": {
"WillBeAdded": true,
"WillBeDeleted": true,
"WillBeUpdated": true
},
"PerformableActions": {
"ShouldAdd": true,
"ShouldDelete": true,
"ShouldUpdate": true
}
},
{
"Name": "",
"Description": "without name and color name and will not be added",
"Color": "black",
"ExpectedStatus": {
"WillBeAdded": false,
"WillBeDeleted": false,
"WillBeUpdated": false
},
"PerformableActions": {
"ShouldAdd": true,
"ShouldDelete": false,
"ShouldUpdate": false
}
}
]
내가 : 나는 형식을 다음 JSON으로 테스트 데이터를 사용하여 내보기 모델이 데이터를 가져 오지하고
:
나는 내 응용 프로그램에 대해 다음 strucutre 결정 여기에 두 가지를 사용 :1. PerformableActions 즉 무엇 이 테스트 사례 데이터를 사용하여 수행 할 수있는 작업. 예 : shouldAdd는 레코드 추가를 위해이 TestCase를 수행해야 함을 의미하며 shouldDelete는 레코드를 삭제하기 위해이 testCase를 실행해야 함을 의미합니다. 마찬가지로 shouldUpdate가 실행됩니다.
2 ExpectedStatus 즉 테스트 케이스의 예상 결과, WillBeAdded 수단이 데이터 그리드에 추가 될 수 무슨. 마찬가지로 WillBeDeleted 및 WillBeUpdated 작업.
질문 :
1) 나는 모든 CUD 작업에 동일한 테스트 데이터를 사용하고, 그 이유는 내가 내 응용 프로그램에서 CUD의 흐름을 유지해야한다는 것입니다. UI를 테스트 할 필요가 있기 때문에 Create, Retrieve 및 Delete가 순서대로 작동한다고 가정하고 있습니다.
CRUD 작업의 경우 테스트를 수행하는 올바른 방법입니까?
2) 내가 유일하게 가능한 방법으로 주문 속성을 사용하는 것입니다 볼 수 있기 때문에 나는, 질서를 유지 할 방법이 수백 또는 수천 될 수있다, 나는 내 프로젝트의 모든 테스트를 실행해야한다는 생각 NUNit. 어떻게 그것을 사용할 수 있습니까? 아니면 독립적 인 모듈과 종속 모듈의 그룹을 별도로 테스트 할 수 있습니까?
감사합니다. 누군가 내 문제를 들여다 주셔서 감사합니다. 너에게 큰 감사! 주요 문제는 여전히 주문 중입니다. CUD에 20 개 이상의 엔터티가 있습니다. 주문을 사용하면 1,2,3,4를 따라야하고 9보다 많은 주문을하면 1,12,13,2,3으로 목록이 업데이트됩니다. , 4 등. 그것이 사전 순으로 주문하는 것입니다. 나는 갇혀있어 셀렌과 함께 Nunit을 사용하는 데 매우 지쳤다. 몇 가지 데모를 제공해 주시겠습니까? 테스트가 수백 개가되고 내 욕망에 따라 테스트를 수행해야하는 경우 어떻게해야합니까? 그렇게하기 위해 래퍼 (wrapper)를 사용할 수도 있습니다. 나는 내가 어떤 것을 받아 들일 수있는 지점에있다. – Umar