Environment:

Python: 3.6.1 track

Selenium: rule 3.4.3

Firefox: 54.0.1

Geckodriver: 0.15.0

Chrome: 59.0.3

Chromedriver: v3.1

Fundamentals of Automated Testing

1. Classification of software testing

According to the project process: unit test (coding), integration test (design), system test (requirements), acceptance test

Depending on whether the code is visible: white box test, black box test, gray box test

Functional testing: logic functional testing, interface testing, usability testing, installation testing, compatibility testing

Performance test: load test, stress test

Manual testing: Manually execute test cases

Automated testing: performance automation and functional automation

Smoke test: Verify that the main functions are achieved and testability is available before the system is formally tested

Regression testing: Making changes to code to ensure that no new errors have been introduced or caused errors in other code

Random testing: In order to simulate the user’s operation, the data input in the test is random, so that marginal errors can be found

Exploratory testing: emphasizing initiative and changing strategies when encountering problems

Safety testing: verify product compliance with safety requirements definition and product quality standards

2. What projects are suitable for automation

1) The project requirements do not change frequently

2) Long project cycle

3) Automated test scripts can be reused

3. Automated test classification and tools

1) Categories: UI automation, interface automation, unit test automation

QTP: enterprise-level automated test tool, supporting B/S, C/S architecture

Robot Framework: Written in Python, support keyword driven, distributed testing

Watir: Functional test automation tool based on Web mode

Selenium: Supports multiple languages, platforms, and browsers

4. Selenium Tools

1) Features: multiple languages –Java, Python, PHP, Ruby

Multiple platforms -Windows, Linux, Mac

Multi-browser —-Firefox, Chrome, Internet Explorer

Open source, free

Simple and flexible

2) selenium1.0

Selenium IDE: Enables simple recording and playback of browser operations in multiple languages

Selenium Grid: An automated testing aid

Parallel execution

Execute in different environments and browsers through a single host control use case

Selenium RC: The core of Selenium, which supports scripting in multiple programming languages and uses the Selenium server as a proxy server to access applications for testing purposes.

Selenium RC: Client Libraries — Write test scripts that control selenium Server libraries

Selenium Server — Controls browser behavior

The selenium server: Selenium Core — a bunch of JS functions embedded in the browser that control the browser’s operation launcher– launches the browser and loads Selenium Core into the browser. Set the SELENIUM Server HTTP Proxy as the proxy server for the browser

3) selenium2.0

Webdriver replaces Selenium RC, which is still available for downward compatibility

Selenium RC operates through JS functions embedded in the browser

Webdriver is developed for each browser and controls the browser through native browser support or browser extensions