Skip to content

Commit dd5cefb

Browse files
authored
Merge pull request #78 from jetbrains-academy/fourth-section
Fourth section
2 parents f93c35c + e3573dd commit dd5cefb

File tree

411 files changed

+11562
-678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

411 files changed

+11562
-678
lines changed

.coursecreator/course/course.json

+4,101-443
Large diffs are not rendered by default.

introduction/finding_elements_selenium/finding_multiple_elements/task.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
<p>In this task, you need to fill in a form (<a href="http://suninjuly.github.io/huge_form.html" rel="nofollow noopener noreferrer" title="Link: http://suninjuly.github.io/huge_form.html">http://suninjuly.github.io/huge_form.html</a>).&nbsp;It was designed to help the marketing department of the company N collect detailed information about their product users. The reward for filling in the form is a discount coupon. However, the marketing people have obviously outdone themselves having added 100 compulsory fields to the form and having limited the time given to complete the form. Now, only bots can handle the task. 🤖.</p>
44

5-
<p>Use WebDriver, the <strong>find_elements</strong> method, the necessary locator and its values. Enter the received discount code as the answer to the task.</p>
5+
<p>Use WebDriver, the <strong>find_elements</strong> method, the necessary locator and its values.</p>
66

77
<p>Use the template below: in the "for" cycle, we can sequentially take each element from the list of found text fields and send an arbitrary text to each field. If the script fails to fill in the form in time, choose a shorter text.&nbsp;</p>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
if __name__ == "__main__":
2+
# Write your solution here
3+
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
type: theory
2+
files:
3+
- name: main.py
4+
visible: true
5+
- name: __init__.py
6+
visible: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## About you
2+
Thank you for taking our course Automated UI Testing Course!
3+
We would be happy to get to know you a bit better, so we’re asking you to fill in this brief [form](https://surveys.jetbrains.com/s3/course-introduction-automated-ui).
4+
5+
Join our Discord [community](https://discord.gg/DsBZ6Uzt) to share your thoughts, feedback, and connect with other students!
+7-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
content:
2-
- about this course
3-
- what is Selenium
4-
- what is selenium webdriver
5-
- task - select all correct statements
6-
- task - select all correct statements 2
2+
- about this course
3+
- about you
4+
- prerequisites
5+
- what is Selenium
6+
- what is selenium webdriver
7+
- task - select all correct statements
8+
- task - select all correct statements 2

introduction/introduction/prerequisites/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
if __name__ == "__main__":
2+
# Write your solution here
3+
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
selenium==4.11.2
2+
pytest==7.4.0
3+
bs4==0.0.1
4+
html5lib==1.1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
type: theory
2+
files:
3+
- name: main.py
4+
visible: true
5+
- name: __init__.py
6+
visible: false
7+
- name: requirements.txt
8+
visible: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## Prerequisites
2+
3+
Please note that this course does not cover the basics of programming or Python programming language.
4+
We suggest that you study Python in the following [course](https://plugins.jetbrains.com/plugin/16630-introduction-to-python).
5+
6+
You will need knowledge of
7+
- syntax and basic features of Python.
8+
- basic object-oriented programming (OOP) concepts for the fourth section of the course
9+
10+
Please note libraries this course uses in requirements.txt.
11+
You can install them in your virtual environment bu executing
12+
`pip install -r requirements.txt`
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
custom_name: in conclusion
2+
content:
3+
- thank you

page_object/In conclusion/thank you/__init__.py

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
if __name__ == "__main__":
2+
# Write your solution here
3+
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
type: theory
2+
custom_name: thank you!
3+
files:
4+
- name: main.py
5+
visible: true
6+
- name: __init__.py
7+
visible: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## Thank you!
2+
3+
Our course is coming to an end! Thank you for being with us until the victorious end.
4+
We put in a lot of effort to make sure everything was clear and interesting for everyone :)
5+
6+
We would really appreciate it if you could take a few minutes to answer our [survey](
7+
https://surveys.jetbrains.com/s3/course-feedback-automated-ui).
8+
Your feedback will help us improve this course and make it relevant for future students.
9+
10+
We hope that after completing this course,
11+
automation testing with Selenium won't be intimidating anymore,
12+
and you'll be able to start writing real automated tests.
13+
In this course, we aimed to cover the fundamental approaches and tools for
14+
creating a project with automated tests.
15+
Start by writing simple test scripts that verify the most critical scenarios
16+
in your web application.
17+
You can manually run these tests before releases to quickly gather information about the
18+
product's state.
19+
Once your automated tests start finding the first bugs,
20+
you'll realize that your time spent on this course was worthwhile.
21+
22+
For further development as an automation QA,
23+
you'll need to explore the following important topics:
24+
25+
- Running tests on remote servers using Selenium Grid, Selenoid, or similar tools. This allows for automatic test execution, faster test runs, and facilitates cross-browser and cross-platform testing.
26+
- Basic knowledge of Docker technology to manage containers with browsers on remote servers. There are ready-made containers available for use in Selenium Grid: https://hub.docker.com/u/selenium.
27+
- Configuring a Continuous Integration server to build the continuous integration process. Tests should be automatically triggered on a schedule or for each commit.
28+
- Configuring test result reports with detailed information about errors, enabling quicker localization of bugs found by automated tests. You can use the pytest-html plugin for PyTest or the Allure framework.
29+
- Generating screenshots and videos in case of test failures to simplify analysis and problem reproduction. Some tools already support this feature, such as pytest-splinter.
30+
- Preparing test data using database queries or API calls.
31+
32+
33+
These topics deserve a separate extensive course.
34+
They are premature for a Junior Automation Tester, so we didn't include them in this course, but now you are skilled enough to continue this journey on your own.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
http://selenium1py.pythonanywhere.com/catalogue/coders-at-work_207/?promo=offer7

0 commit comments

Comments
 (0)