<?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>DEV Community: Janani</title>
    <description>The latest articles on DEV Community by Janani (@janani_27).</description>
    <link>https://dev.to/janani_27</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3759585%2F870942c4-aabb-495b-93af-414785506d61.jpg</url>
      <title>DEV Community: Janani</title>
      <link>https://dev.to/janani_27</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/janani_27"/>
    <language>en</language>
    <item>
      <title>Python Selenium Architecture</title>
      <dc:creator>Janani</dc:creator>
      <pubDate>Mon, 10 Aug 2026 17:17:55 +0000</pubDate>
      <link>https://dev.to/janani_27/python-selenium-architecture-3lb5</link>
      <guid>https://dev.to/janani_27/python-selenium-architecture-3lb5</guid>
      <description>&lt;p&gt;Understanding Python Selenium Architecture and the Importance of Virtual Environment:&lt;/p&gt;

&lt;p&gt;When I started learning Selenium with Python, I understood that writing a simple Selenium program is only the beginning. To work with Selenium properly, it is important to understand how Python communicates with the browser and why a virtual environment is useful. In this blog, I will explain both concepts in simple words.&lt;/p&gt;

&lt;p&gt;Python Selenium Architecture:&lt;/p&gt;

&lt;p&gt;Selenium is a web automation framework used to automate browsers. With Python and Selenium, we can perform actions such as opening a website, entering text, clicking buttons, and checking results. Selenium WebDriver is the main component that helps our Python program communicate with and control the browser.&lt;/p&gt;

&lt;p&gt;The basic flow can be understood as:&lt;/p&gt;

&lt;p&gt;Python Code -&amp;gt; Selenium WebDriver -&amp;gt; Browser -&amp;gt; Web Application&lt;/p&gt;

&lt;p&gt;First, we write our test or automation script in Python. The Selenium library provides different commands that we can use in our program. For example, driver.get() is used to open a website, while find_element() helps us find an element on the webpage.&lt;/p&gt;

&lt;p&gt;After receiving the command from our Python program, Selenium WebDriver communicates with the browser and performs the required action. For example, when we use Chrome, webdriver.Chrome() starts the Chrome browser.&lt;/p&gt;

&lt;p&gt;Importance of Python Virtual Environment:&lt;/p&gt;

&lt;p&gt;A Python Virtual Environment is a separate environment created for a particular Python project. It allows us to install the packages required for that project without affecting other Python projects.&lt;/p&gt;

&lt;p&gt;For example, suppose I have a Selenium project that needs Selenium and PyTest. I can install these packages inside the virtual environment created for that project. Another project can have a different environment with different packages or versions.&lt;/p&gt;

&lt;p&gt;This is useful because it helps avoid package conflicts. If two projects need different versions of the same package, separate virtual environments allow both projects to work independently.&lt;/p&gt;

&lt;p&gt;A virtual environment also keeps the project organized. We can maintain the required packages and dependencies for each project separately. A requirements.txt file can be used to keep a list of the packages needed for the project, making setup easier for another person.&lt;/p&gt;

&lt;p&gt;As I continue learning Selenium, these concepts will help me understand how my test scripts work, how browsers are controlled, and how I can keep my automation projects clean, separate, manageable, and easier to maintain properly.&lt;/p&gt;

&lt;p&gt;Conclusion:&lt;/p&gt;

&lt;p&gt;Understanding Selenium architecture and virtual environments is important when learning Python automation testing. Selenium WebDriver connects our Python code with the browser and allows us to automate web applications. A virtual environment keeps project dependencies separate and helps avoid conflicts. Learning these basic concepts gives a strong foundation for building organized Selenium automation projects using Python.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>automation</category>
      <category>python</category>
      <category>testing</category>
    </item>
    <item>
      <title>Selenium and Python</title>
      <dc:creator>Janani</dc:creator>
      <pubDate>Mon, 10 Aug 2026 17:05:38 +0000</pubDate>
      <link>https://dev.to/janani_27/selenium-and-python-k83</link>
      <guid>https://dev.to/janani_27/selenium-and-python-k83</guid>
      <description>&lt;p&gt;Selenium and Python: Making Web Automation Testing Easier&lt;/p&gt;

&lt;p&gt;Software testing is an important part of developing a reliable and high-quality application. When testing is done manually, testers often have to repeat the same steps many times. This can take a lot of time, especially during regression testing. Automation testing helps reduce this repetitive work by allowing test steps to be performed automatically. Selenium is one of the commonly used tools for automating web applications.&lt;/p&gt;

&lt;p&gt;What is Selenium?&lt;/p&gt;

&lt;p&gt;Selenium is an open-source web automation framework used to automate web browsers. It allows a program to perform actions that a real user would perform on a website. For example, Selenium can open a website, enter text, click buttons, navigate between pages, and check results. Selenium is not a programming language. It can be used with programming languages such as Python, Java, JavaScript, C#, and Ruby.&lt;/p&gt;

&lt;p&gt;Selenium WebDriver is an important component of Selenium. It communicates with and controls the browser. The basic flow can be understood as: Python program → Selenium WebDriver → browser → web application.&lt;/p&gt;

&lt;p&gt;Why Do We Use Selenium for Automation?&lt;/p&gt;

&lt;p&gt;One of the main reasons to use Selenium is to reduce repetitive manual testing. For example, a tester may need to perform the same login test several times after application changes. Instead of entering the username, password, and clicking the login button manually each time, Selenium can perform these actions through an automation script.&lt;/p&gt;

&lt;p&gt;Selenium is also useful for regression testing. When developers make changes to an application, existing features need to be checked again. Automated tests can repeat these checks consistently. Selenium can also automate web applications across different browsers, which is useful for browser-based testing.&lt;/p&gt;

&lt;p&gt;Relevance of Selenium in Automation Testing Using Python&lt;/p&gt;

&lt;p&gt;Python is a popular programming language with simple and readable syntax. This makes it convenient for beginners who want to learn automation testing. With Selenium and Python, testers can create scripts to control browsers and interact with web elements.&lt;/p&gt;

&lt;p&gt;For example, a simple Selenium program can open Chrome, visit Google, print the page title, and close the browser. Selenium also provides locators such as ID, name, class name, CSS selector, and XPath to identify web elements.&lt;/p&gt;

&lt;p&gt;Python can be combined with PyTest, a Python testing framework, to run and organize Selenium tests. In larger projects, Selenium can also be organized using the Page Object Model. This approach keeps page locators and actions together, making tests easier to read and maintain. Other supporting features can include waits, configuration, logging, screenshots, reports, and test data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selenium is a useful tool for automating web applications and reducing repetitive testing activities. When combined with Python, it provides a simple and flexible way to create browser automation tests. Learning WebDriver, locators, browser actions, waits, PyTest, and Page Object Model can help a beginner gradually build a structured Selenium automation framework. Overall, Selenium with Python can improve the consistency and efficiency of web application testing while reducing the effort required for repeated test execution and supporting more reliable software testing practices&lt;/p&gt;

</description>
      <category>automation</category>
      <category>python</category>
      <category>testing</category>
    </item>
    <item>
      <title>Manual testing</title>
      <dc:creator>Janani</dc:creator>
      <pubDate>Mon, 16 Mar 2026 10:52:16 +0000</pubDate>
      <link>https://dev.to/janani_27/manual-testing-5759</link>
      <guid>https://dev.to/janani_27/manual-testing-5759</guid>
      <description>&lt;p&gt;This blog have a explanation of a belove heading:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Common Manual Testing Techniques.&lt;/li&gt;
&lt;li&gt;Boundary Value Analysis.&lt;/li&gt;
&lt;li&gt;Decision Table Testing.&lt;/li&gt;
&lt;li&gt;The Future of Manual Testing in the Age of AI.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;1.Common Manual Testing Techniques:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are different techniques in manual testing, but mainly used only three techniques.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;White Box Testing&lt;/li&gt;
&lt;li&gt;Black Box Testing&lt;/li&gt;
&lt;li&gt;Gray Box Testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;White Box Testing:&lt;/strong&gt;&lt;br&gt;
       In this functional tester test internal structure of the code from the developers view. Tester have a code access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Black Box Testing:&lt;/strong&gt;&lt;br&gt;
        Here tester does not Know the internal source code of a program.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gray box Testing:&lt;/strong&gt;&lt;br&gt;
       It is a combination of both white and black box testing. This testing have limited code access. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Boundary Value Analysis:&lt;/strong&gt;&lt;br&gt;
    By this testing we can identify the boundary level errors.&lt;/p&gt;

&lt;p&gt;simple example of A password must be between 8 and 16 characters long.&lt;br&gt;
Lower Boundary: 8 characters&lt;br&gt;
Upper Boundary: 16 characters if this boundary value is applied only password can accept&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Decision Table Testing:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Testing uses decision tables to try out different input mixes and their results under certain rules. This makes sure the software runs fully and correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
An ATM allows cash withdrawal if the account has enough balance, the request is under the daily Rs.500 limit, and the card is valid/not blocked. If all met, dispense cash; if balance low, show insufficient funds; if over limit, decline; if card issue, retain card.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.The Future of Manual Testing in the Age of AI:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Manual Testing still have a future but its role is evolving. It will still remains important , AI cannot fully replace human because AI's thinking and judgment are differ from human.Humans can think creatively and evaluate software from the perspective of real users, which AI tools often cannot fully replicate.  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
   AI will support testers not replace them. It will have combination of both manual and AI&lt;/p&gt;

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