<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: akshay kiran</title>
    <description>The latest articles on Forem by akshay kiran (@akshay_kiran_b011ddf5055f).</description>
    <link>https://forem.com/akshay_kiran_b011ddf5055f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3635591%2F85a2c907-ba1d-44a5-a7b1-301167414ef4.png</url>
      <title>Forem: akshay kiran</title>
      <link>https://forem.com/akshay_kiran_b011ddf5055f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/akshay_kiran_b011ddf5055f"/>
    <language>en</language>
    <item>
      <title>Python Selenium Architecture</title>
      <dc:creator>akshay kiran</dc:creator>
      <pubDate>Sat, 29 Nov 2025 05:53:43 +0000</pubDate>
      <link>https://forem.com/akshay_kiran_b011ddf5055f/python-selenium-architecture-420c</link>
      <guid>https://forem.com/akshay_kiran_b011ddf5055f/python-selenium-architecture-420c</guid>
      <description>&lt;p&gt;Selenium follows a layered architecture that defines how automation scripts interact with a web browser. When using Python for automation, the workflow is structured in a clear communication hierarchy. The main components involved in Python Selenium architecture are:&lt;/p&gt;

&lt;p&gt;Selenium Client Library (Python Bindings)&lt;br&gt;
JSON Wire Protocol / W3C WebDriver Protocol&lt;br&gt;
Browser-Specific WebDriver Executables&lt;br&gt;
Actual Web Browser&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Selenium Client Library (Python Bindings)&lt;br&gt;
This is the layer where testers write automation scripts in Python. Selenium provides dedicated APIs such as find_element(), click(), send_keys(), and get() which allow interaction with web elements. This Python library converts commands from the script into a format understandable by the WebDriver.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JSON Wire Protocol / W3C WebDriver Protocol&lt;br&gt;
The commands written in Python need a channel for communication with the browser driver. This is where the WebDriver protocol comes in. Initially, Selenium used JSON Wire Protocol, but modern Selenium (Version 4) now uses the W3C WebDriver Protocol, which ensures more consistency and stability across browsers.&lt;br&gt;
Browser-Specific WebDriver Executable&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Each browser requires its own executable driver to understand Selenium instruction&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Web Browser&lt;br&gt;
The last component is the actual browser interface. This is where automation actions take place—opening URLs, clicking elements, filling forms, scrolling, etc. The browser returns execution status back through the same pathway until Python receives the final result.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Significance of Virtual Environment in Selenium Automation&lt;/p&gt;

&lt;p&gt;A virtual environment (venv) in Python is an isolated workspace that allows different projects to maintain separate dependencies. Without venv, all packages install globally and may conflict with other projects if versions differ.&lt;/p&gt;

&lt;p&gt;Why Virtual Environment is Important?&lt;/p&gt;

&lt;p&gt;Avoid dependency conflicts&lt;br&gt;
Ensures clean and reproducible setup&lt;br&gt;
Prevents system-level corruption&lt;br&gt;
Better organization and portability&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
Writing a Selenium script in Python to open Google and search for something. &lt;br&gt;
First, you create and activate a virtual environment so the project has its own clean space and doesn’t mix with other projects. &lt;/p&gt;

&lt;p&gt;Inside this environment, you install Selenium and download ChromeDriver. Then you write a small script where webdriver.Chrome() launches the Chrome browser, driver.get("&lt;a href="https://google.com%22" rel="noopener noreferrer"&gt;https://google.com"&lt;/a&gt;) opens the Google website, find_element() locates the search box, and send_keys() types a word like Python Selenium. Finally, click() presses the search button and the results appear automatically, just like a user performing the actions manually. This small example shows how Selenium controls the browser step-by-step, and how a virtual environment keeps the setup organized, version-safe, and easy to maintain.&lt;/p&gt;

</description>
      <category>python</category>
      <category>testing</category>
      <category>architecture</category>
      <category>automation</category>
    </item>
    <item>
      <title>Selenium</title>
      <dc:creator>akshay kiran</dc:creator>
      <pubDate>Sat, 29 Nov 2025 05:42:38 +0000</pubDate>
      <link>https://forem.com/akshay_kiran_b011ddf5055f/selenium-1i2f</link>
      <guid>https://forem.com/akshay_kiran_b011ddf5055f/selenium-1i2f</guid>
      <description>&lt;p&gt;Selenium is an open-source automation framework used to automate web browsers. It allows testers and developers to interact with web applications the same way a real user would—by clicking buttons, entering text, selecting dropdowns, navigating pages, and validating output. Selenium supports multiple programming languages (Python, Java..etc) various browsers like Chrome, Firefox, Edge and multiple operating systems including Windows, macOS. Selenium is most commenly used automation for web based application testing in software industry.&lt;/p&gt;

&lt;p&gt;Why Selenium?&lt;br&gt;
Selenium simplifies web testing and significantly reduces manual effort. In manual testing, a tester has to check application features repeatedly, especially during regression testing and new releases in project. &lt;/p&gt;

&lt;p&gt;This process is time-consuming, repetitive, and prone to human error. Selenium overcomes this by executing test steps automatically with high accuracy and at much faster speed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open-source and free
2.Supports multiple browsers
3.Supports various programming languages
4.Integration capability
5.Parallel execution
6.Wide community support&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Relevance of Selenium in automation testing using Python&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Easy readability and less code&lt;br&gt;
Python scripts written for Selenium are easier to read and maintain compared to Java or C#. The code is concise, making it suitable even for beginners in automation testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rich supporting ecosystem&lt;br&gt;
Python provides libraries like PyTest for test execution, Unittest for test structuring, Requests for API testing, Pandas for data handling, and Allure for reporting. Selenium integrates smoothly with these libraries, making end-to-end automation powerful and efficient.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fast development &amp;amp; execution&lt;br&gt;
Python enables rapid script development, which helps teams build automation suites faster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better suitability for data-driven testing&lt;br&gt;
Automation scripts often rely on external test data (Excel, JSON, databases). Python’s handling of data is outstanding, which makes writing data-driven tests simpler and faster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cross-platform execution&lt;br&gt;
Selenium WebDriver with Python can run test across Window, Linux, and macOS without modification. This helps in multi-environment validation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Strong community support&lt;br&gt;
Both Selenium and Python have large communities, meaning help, examples, and solutions are widely available.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Future of Manual Testing in the age of AI:</title>
      <dc:creator>akshay kiran</dc:creator>
      <pubDate>Sat, 29 Nov 2025 05:12:32 +0000</pubDate>
      <link>https://forem.com/akshay_kiran_b011ddf5055f/future-of-manual-testing-in-the-age-of-ai-4i6d</link>
      <guid>https://forem.com/akshay_kiran_b011ddf5055f/future-of-manual-testing-in-the-age-of-ai-4i6d</guid>
      <description>&lt;p&gt;This seems to be a common term around software industries; this means a lot when a company believes a need of human who can actual test and ensures the quality of the product by using their skills of logical thinking and analysing by relating an end user who uses the product in day to day life; Testing with all common sense which is even not possible by our new greedy friend “AI”, Yes!! We can agree that AI technology is most efficient way for a company to deliver products but at the end of the day&lt;br&gt;
a manual tester needs to ensure that all the configured tests were performed by AI and reports that are generated needs to be verified manually. So the evergreen unsung hero’s Manual testers will always stand a head of all the latest technologies in all future!!!&lt;/p&gt;

&lt;p&gt;Common Manual Test techniques&lt;/p&gt;

&lt;p&gt;The wide range of test techniques that are commonly used:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;White box&lt;/li&gt;
&lt;li&gt;Black box&lt;/li&gt;
&lt;li&gt;Grey box&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;White box testing&lt;br&gt;
White box testing is one of the common testing way performed by the developer who writes the coding; so actually what white box testing does is covering of&lt;br&gt;
all the logical statements in a set of code where most ofter a manual code writer will make errors; the errors can occur mostly in checking the statement, branch, path, loop and condition&lt;br&gt;
so by performing the white box testing before deliver can help the developer to address all the issues which were related to codes.&lt;/p&gt;

&lt;p&gt;Tools used:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Most common tools of static code analysis were sonarQube, Pylint&lt;/li&gt;
&lt;li&gt;Unit level coverage: JUnit, Pytest, TestNG&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Black box testing:&lt;br&gt;
Black box testing is the dedicated form of testing mostly done by testers who has a destructive mind-set to break the product before anyone else does that after delivering.&lt;br&gt;
This black box testing plays a very major role of testing the product end to end with all the flows covering the total usage of the product; this type of testing can be achieved with many testing techniques:&lt;/p&gt;

&lt;p&gt;Boundary value analysis:&lt;br&gt;
The main use of this analysis is to find the extreme range of input value to find that a system can behave with all sort of data.&lt;br&gt;
Data can be in such a way that very low value, middle value and very high value can be given as input and confirm the result&lt;/p&gt;

&lt;p&gt;Decision Table Testing:&lt;br&gt;
Decision table testing is something were testers can use multiple combinations of test input data to sort down more complex feature; by having test data able for all the combinations in that feature. Each scenario can be framed in such a way that expected outputs can be analysed. Scenarios can be generally framed in matrix format in order to cover all the combinations.&lt;/p&gt;

&lt;p&gt;Grey box testing:&lt;br&gt;
Grey box testing is something hybrid form of testing where tester can combine code level testing and end user level functional testing. Grey box testing mostly involves in checking database, encryption and API level of testing.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
