Nội dung bài viết
Issue
- Hầu hết các bạn mới học/ làm quen vs automation testing thì các lỗi liên quan đến môi trường/ config/ version không tự xử lí được – đặc biệt là sự không tương thích giữa các version
- Java version
- 1.7.xx
- 1.8.xx
- 1.9.xx
- …
- Browser version
- Chrome
- Firefox
- IE
- Safari
- …
- Selenium version
- 2.xx
- 3.xx
- 4.xx
- Browser driver version
- chromedriver
- geckodriver
- iedriver
- …
- Java version
Giải pháp
- Trước khi các bạn nắm được tips để manage các version này thì mình recommend nên có 1 môi trường ổn định để thực hành/ học tốt nhất – tránh mất thời gian ngồi xử lí mấy issue vớ vẩn
- Recommend 01:
- Java version: 1.8.xx
- Browser version:
- Chrome: latest
- Firefox: 47.0.2
- IE: 11
- Selenium version:
- 2.53.1 (Stable)
- Browser driver version:
- chromedriver: latest
- geckodriver: ko cần cho bản firefox <=47
- iedriver: bám theo version của Selenium server (như trên là 2.53.1)
- Recommend 02:
- Java version: 1.8.xx
- Browser version:
- Chrome: latest
- Firefox: latest
- IE: 11
- Selenium version:
- 3.xx (Bản 3. trở lên là được)
- Browser driver version:
- chromedriver: latest
- geckodriver: bám theo version của Firefox
- iedriver: bám theo version của Selenium server
- Như trên thì các bạn thấy vấn đề không tương thích lớn nhất là Firefox, có 1 sự thay đổi nhỏ từ version Firefox 48 trở lên – các bạn follow như sau:
- Firefox <=47:
- Sử dụng vs Selenium 2.xx – không work vs 3.xx
- Không cần sử dụng geckodriver
- Chỉ cần new instance của FirefoxDriver là có thể sử dụng ngay
- Firefox >=48:
- Phải sử dụng vs Selenium 3.xx trở lên – không work vs 2.xx
- Phải set property cho geckodriver
- System.setProperty(“webdriver.gecko.driver”, “//path_of_gecko_driver”);
- Về version tương thích giữa Selenium/ Firefox/ GeckoDriver xem chi tiết trong hình dưới
- Firefox <=47:
- Recommend 01:
Code Sample
- Chrome
- System.setProperty(“webdriver.chrome.driver”, “.\\lib\\chromedriver.exe”);
- driver = new ChromeDriver();
- Lưu ý: “.\\lib\\chromedriver.exe” => đường dẫn tương đối tới file chromedriver.exe nằm trong thư mục lib
- Firefox (<=47)
- driver = new FirefoxDriver();
- Firefox (>=48)
- System.setProperty(“webdriver.gecko.driver”, “.\\lib\\geckodriver.exe”);
- driver = new FirefoxDriver();
- “.\\lib\\geckodriver.exe” => đường dẫn tương đối tới file geckodriver.exe nằm trong thư mục lib
- Internet Explorer
- System.setProperty(“webdriver.ie.driver”, “.\\lib\\IEDriverServer.exe”);
- driver = new InternetExplorerDriver();
- “.\\lib\\IEDriverServer.exe” => đường dẫn tương đối tới file IEDriverServer.exe nằm trong thư mục lib