When you execute the above code, it launches the site and on clicking the link Click here, it opens up a child window in a new tab. ? document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); This site uses Akismet to reduce spam. We can manage the windows with their handles. Suite: He has extensive experience in the field of Software Testing. Join Vanya Seth as she talks on the topic, "Chaos to Control: Observability and Testing in Production" in a new episode of Voices of Community by LambdaTest. Selenium Automation Testing Testing Tools. The driver will wait up to 30 seconds, by default, before interrupting the script and returning with a script timeout error. A Computer Science portal for geeks. Verify and validate the action. Step 1) Launch the web browser and open the site https://demo.guru99.com/test/delete_customer.php. String parent= driver.getWindowHandle(); This method will return the value of the String type. The basic locators include id, className, name, linkText, partialLinkText, tagName and XPath. We defined the types of alert and shown them with a screen shot. You can use LambdaTest Analytics to get insight into this information and drive better testing practices. What Is The Difference Between Assert And Verify In Selenium, How to Install TestNG in Eclipse IDE for Selenium WebDriver, How To Execute TestNG Tests Using Jenkins | Software Testing Material, How To Ignore TestNG Test | TestNG Tutorial, How To Download File Using AutoIT In Selenium WebDriver, 9 Best Free Disk Partition Software to Manage Windows Hard Disks [2023 Ranks], 5 Ways to Evaluate the Quality of Outsourced Content, Best Network Segmentation Software in 2023, 12 Quick Ways To Find Out Who Called Me From This Phone Number. Learn how to automate the drag and drop action of websites while testing with Selenium. Selenium is WebStep 1 : Clicking on Link1 on Window A Trending How to Run Selenium Scripts In Tor Browser? You learned how to handle windows in selenium and managing windows such as selenium maximize window, size, and position functions. WebSelenium Python Vba() Select Windows Python 3.8 . Thanks for visiting my blog. Step 2 : Move Focus from Window A to Window B Window B is active now Step 3: Perform Actions on Window B Complete the entire set of Actions Step 4: Move Focus from Window B to Window A Window A is active now ). Below are a few of them: Let us now implement a code snippet for handling the single-child window in Selenium. This is what i am getting.. and i want to close this. This is the parent window. WebBangalore. Now open your required web application and proceed with captured Code. Get the handles of all the windows that are currently open using the command: Get the window handles of all the windows and print them in a sequential manner. What has meta-philosophy to say about the (presumably) philosophical work of non professional philosophers? HomePage home= PageFactory.initElements(driver, HomePage.class); String title= home.getApplicationTitle(); Assert.assertTrue(title.contains(Demo Store)); Which version of IE you are using? Rename .gz files according to names in separate txt-file. TestNG provides us with a lot of Listeners (e.g., IAnnotationTransformer, IReporter, etc.). On executing the code above, it will launch multiple windows, and the window handle will be retrieved. The basic locators include id, className, name, linkText, Test website: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_link_target. Check whether you are able to handle those dialogue boxes simply using driver. I have a doubt that window handling process is same for both Page Object Model & normal method. Such a window in Selenium is referred to as the Parent Window or Main Window. It can also be used to check the state of a checkbox or radio button. An online Selenium Grid helps you focus on writing better Selenium test scripts rather than worrying about infrastructure maintenance. Working as engineers in automated testing services we have to cope up with dynamic contents on the web pages. Youll get real-time reports on the performance of your test suites and an automated system to track change impact across all your automation efforts. I used it in my live project. Even we stored main windows in login page, How to pass the parent windows details(String hParent = driver.getWindowHandle()) to other main pages. this.driver= ldriver; In this post, we will see how to handle multiple windows using Selenium WebDriver. Learn how your comment data is processed. Note- Selenium 4 has a new feature where you can switch between tabs as well. All rights reserved. Example-1: How to Handle Multiple Windows in Selenium? Perform action on the web element. Windows in Selenium Webdriver | Selenium Certification Training | Edureka Navigate to the targeted website for which the testing continues. Check out this step-by-step guide to perform Automation testing using Selenium WebDriver. Thank you in advance. import org.testng.annotations.Test; public void handleWindow() throws InterruptedException. Watch this video to learn how to handle multiple windows in Selenium WebDriver using Java. Can Selenium handle Windows application? driver.getWindowHandle() We can get the current windows handle, driver.getWindowHandles() We can get all windows handles. To implement the Listener class, you can simply add an annotation in your test class just above your class name. New window open. This is the same webpage that will open when the Selenium automation script is executed. An online Selenium Grid helps you focus on writing better Selenium test scripts rather than worrying about infrastructure maintenance. Learn more about Stack Overflow the company, and our products. Say for 2nd window: To get the window title, drag the Finder Tool box to the Windows Security Dialog Box. It allows you to test on 3000+ real device browser combinations and maximize the test coverage. Also read: TestNG Listeners In Selenium WebDriver With Examples. WebSeleniumWebPythonSelenium SeleniumWeb(UI) So what *is* the Latin word for chocolate? But what if we want to close all the opened windows at once? Navigate to the required web page. We also have getWindowNames, which will return Set
it means the set of window names then we can iterate using Iterator. However, here we are distinguishing the windows respective to Facebook and Twitter by making use of their corresponding titles and by making use of if-else statements, we are clicking on their respective Sign Up buttons. Selenium WebDriver provides us with various methods for handling windows. We provide a diverse range of courses, tutorials, interview questions, resume formats to help individuals get started with their professional careers. By continuing to browse or closing this banner, you agree to our Privacy Policy & Terms of Service. However, in the case of multiple child windows, you can use any of the available conditional operators like if-else, switch etc. driver.close(); } It will return you set of 3 window handles. He is a certified Software Test Engineer by profession and a blogger & a YouTuber by a choice. If the session script timeout duration is set to null, the timeout duration to becomes indefinite, and there is a risk of a non-recoverable session state. Check out this step-by-step guide to perform Automation testing using Selenium WebDriver. how to shift to third from second window after ur work in second window. driver.get(https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F<mpl=default); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); String parent_window=driver.getWindowHandle(); System.out.println(Before switching Title is : +driver.getTitle()); driver.findElement(By.xpath(//a[@href=https://support.google.com/accounts/answer/1733224?hl=en])).click(); if(!parent_window.equalsIgnoreCase(child_window)); System.out.println(After switching Title is :+driver.getTitle()); System.out.println(Back to parent window :+driver.getTitle()); I need to click a link in Window 1,which will route me to Window 2.Now i want to close the Window 1 and switch the focus to window 2. i tried with below code,but it is throwing nosuchWindowException. the scenario is I have to write any text into text area and double click on it to select it so that user can modify the text. @BeforeTest(Setup Method): Here, we have used the LambdaTest Desired Capabilities Generator and have set the necessary capabilities of browser name, version, platform, etc., for our Selenium Remote WebDriver. Starting your journey with Selenium WebDriver? This can be simply done by using the switchTo() function. How to identify parent and child windows in Selenium? This is where the Window Handle comes into the picture. Check the upper left side logo in the second window. In real time, 3 pages- login-1, main-2) and created object for each pages. at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38) Please let me know how to resolve this error. 2. I have implemented data driven testing framework.Now I am trying to implement parallel testing by adding parallel=true in @dataprovider and in suite level I have defined as data-provider-thrrad-count=4. The simple answer is no. You need to handle it through desired capabilities for IE. 5. How to handle a single child window in Selenium? rev2023.3.1.43269. Your email address will not be published. Here is a program which handles multiple windows. switchToNewWindow(2); As getting window handle name is quite complex and it doesn't work some time because of spaces and special characters in window titles. For example, when you open any website or link, the page you land in is the Main Window. # # 1selenium from selenium import webdriver # 2 chromedriver driver = webdriver.Chrome () # 3 driver.get ("http://www.baidu.com")# windows Scenario: Navigate to the BrowserStack home page. This Prompt Alert asks some input from the user and Selenium webdriver can enter the text using sendkeys( input. Training in Top Technologies . It is important to note that there can be single or multiple child windows inside your parent window. This helps to switch the Selenium WebDriver context to the corresponding window and perform any operation. Thanks for contributing an answer to Software Quality Assurance & Testing Stack Exchange! When I execute , 4 browsers initiated and after successful login , my test cases randomly getting filled with no such exception. We have to first identify the element which performs the file selection by mentioning the file path [to be uploaded]. 3. import org.openqa.selenium.WebElement; Ackermann Function without Recursion or Stack, Can I use a vintage derailleur adapter claw on a modern derailleur. When the site opens, we need to handle the main window by driver.getWindowHandle(). We can control the size and position of the current window with the following methods. Few of these methods are: isSelected (): Checks whether a checkbox is selected or not. This issue could be accessing same excel file by multiple threads. Open New Tab in Selenium WebDriver Action Class and perform some action on it. Learn to validate table data, and handle dynamic tables and Web Tables in Selen 2023 BrowserStack. Create separate class which you can call in test class which returns parent window handle and save it into some variable declared in test class or base class. 3. A Computer Science portal for geeks. Shell scripting too interests her a lot. This can be modified to be longer, shorter, or indefinite. This confirmation alert asks permission to do some type of operation. At what point of what we watch as the MCU movies the branching started? In the Get the latest version section of the page, select a platform in the channel that matches your version number of Microsoft Once you run the test case, the console output will look something like below: Note: org.openqa.selenium.remote.ScreenshotException. We use cookies to give you the best experience. String child=it.next(); String child=it.next(); Data driven testing Im excell sheet with 5 different set of test data. and do the operations, which are particular to each child window. You saw how we switch to a child window from the parent window. Now, we start iterating over the set of window handles we have by using the driver.switchTo() method, we switch to the child window. From the parent window, lets see how to handle the child windows and then again navigate back to the parent windows. Web Developed java methods to handle web Frames, windows a,nd Alerts in selenium. I have 4windows,i want to switch to all windows.How to write code. If you are having more than 2 windows then getAllwindowHandles and switch to each window and verify any property such window title or any text on window and it should be unique to wrt each window. As discussed in the above section of this blog on how to handle multiple windows in Selenium WebDriver using Java, when you open any website, the main page where you will perform any operation is the Parent Window. The driver.close() method helps us to close the driver, which is being controlled at the moment. import org.testng.annotations.AfterMethod; Now go to Start menu > All Program > AutoIt v3 > SciTE Script Editor . Heres a short glimpse of the Selenium Java 101 certification from LambdaTest: In this article on how to handle multiple windows in Selenium WebDriver using Java, we read about Windows in Selenium. isDisplayed (): Checks whether a checkbox displays on the web page or not. After switching to the child window, we print the web page title and close the same. A Senior Quality Engineer By Profession, an automation enthusiast and loves to anchor. if(parent.equals(child)){ In this test case, after navigating to the child window and closing it. Furthermore, he loves to be with his wife and a cute little kid 'Freedom'. Once the tests are completed, you can also view your test results, logs, and the test recording as well in your LambdaTest Automation Dashboard. Thank you for your pointer. Role of collection i.e. ex create gmail account page u click on learn more secon window is opened and when u click on security check in second third is opened. These interfaces are used while performing Selenium automation testing mainly to generate logs and customize the TestNG reports. The best answers are voted up and rise to the top, Not the answer you're looking for? Locate the relevant web element. If this condition satisfies then stay on same window otherwise navigate to next window and do check for same condition. You are subscribing to email updates. In real time, we face many scenarios, where an application throws multiple popups. //pagead2.googlesyndication.com/pagead/js/adsbygoogle.js, http://learn-automation.com/handle-windows-authentication-using-selenium-webdriver/, http://learn-automation.com/selenium-webdriver-tutorial-for-beginners/, http://learn-automation.com/advance-selenium-webdriver-tutorials/, http://design-interviews.blogspot.in/2014/11/switching-between-tabs-in-same-browser-window.html, https://www.youtube.com/watch?v=w_iPCT1ETO4, How To Execute Selenium Scripts On Already Opened Browser, How to get current system date and time in Java/ Selenium, How to Scroll into view in Selenium Webdriver, How to Send report through email in Selenium Webdriver, How to handle calendar in Selenium Webdriver and web table, How to Create Base Class in Selenium for Better script, Python Tutorial For Automation Testing Step By Step Guide, Handle Authentication Pop Up in Selenium 4 using Chrome DevTools Protocols API, How to Explain Test Automation Framework In Interview. Drop them on LambdaTest Community. However, in the case of multiple child windows, you can use any of the available conditional operators like if-else, switch etc. Switch to second window then call page object methods corresponding to pages available in 2nd window. Filed Under: Advance Selenium Tagged With: handle multiple tabs in selenium, handle multiple windows in selenium, Multiple Window. Selenium, Cypress, Playwright & Puppeteer Testing. I have also published a video on this which will give you a clear idea how this works. In the next step, we store the handles of all the opened windows in a Set of String. get.windowhandles (): This method will be used to get all the opened window. Use Browserstack with your favourite products. Subscribe and get free access to subscriber-only guides, templates, and checklists. You may need to wait for few seconds after clicking on link(which opens another window) then go ahead with getWindowHandles. Below are a few of them: getWindowHandle (): With this method, we get a unique ID of the current window which will identify it within this driver instance. This can be simply done by using the switchTo() function. Do we need to provided another if condition for matching the Title. I have one parent then child window, after child window want to handle some button in 3rd window as well, what is the code for 3rd window please help me out. import org.openqa.selenium.support.FindBy; public HomePage(WebDriver ldriver){ As you saw in the above example, in order to close the parent window, we had to explicitly switch to the parent window and then close it using the driver.close() method. Connect and share knowledge within a single location that is structured and easy to search. If you still have some queries regarding this then comment in the below section. In automation, when we have multiple windows in any web application, the activity may need to switch control among several windows from one to other in order to complete the operation. Selenium WebDriver provides us with various methods for handling windows. at Pages.HomePage.clickOnSigninLink(HomePage.java:31) In such cases, the method which can come in handy is the driver.quit(). Want to dive deeper into Selenium implementation on BrowserStack with free interactive courses and lab exercises? When the user clicks on the Click Here link, new child window opens. How to capture a series of screenshots in Web Driver using Java, how do i use list for selenium web driver in java, Selenium web driver - how to select child elements, How to add multiple files in Selenium Web-driver using Java, The instruction (Keys.ARROW_DOWN) is moving the cursor to the bottom of the dropdown list instead of the first option. I will try to test the site on that version. How To Handle Login Pop-up In Selenium WebDriver Using Java? Now lets perform some actions on the BrowserStack website. import org.openqa.selenium.firefox.FirefoxDriver; Create a Selenium WebDriver instance. Welcome to SQA stack exchange, Mayur. Heres a short glimpse of the Selenium Java 101 certification from LambdaTest: In this article on how to handle multiple windows in Selenium WebDriver using Java, we read about Windows in Selenium. The url which i used is http://www.hdfcbank.com/. Learn More in our Cookies policy, Privacy & Terms of service. Once you click on link, then go for getWindowHandles. How to switch back from child window to parent window in Selenium? Hence there is a need for some mechanism through which you can gain control over the parent and child windows. Visit now, A Guide To Newly Supported CSS Pseudo-Class Selectors, 23 Software Testing Trends To Look Out For In 2023, Cypress vs WebdriverIO: Which One To Choose, Mastering CSS Border Style: A Comprehensive Guide, How To Automate Android Apps Using Appium, Cross Browser Testing Cloud Built With For Testers. Subscribe. Here, you can populate the values for your corresponding username and access key, which can be collected by logging into your LambdaTest Profile Section. You can use index to switch to specific window. This is one approach there are many other approaches and it depends how your framework is being developed. Hi Mukesh.. 1qq.. since window handles are unique.. why are we storing it in set.. set will restrict duplicates but since handles are unique we can go with list rite? Go to Microsoft Edge WebDriver. Test website: http://www.swtestacademy.com. We will also see how to handle Alert in Selenium WebDriver and learn how do we accept and reject the alert depending upon the alert types. Above code switches to the second window when the count value is reached to 2 and returns the reference of second window. But initially all the windows are not opened, third is opened only when u click a link on second window in that case how to handle the third window. .maximize() It maximizes the current window. Now, once the WebDriver has control of the child window, it has control only on that and you can no longer perform any operation in the parent window. Follow along with this video to learn whats new in Selenium 4. First you need to save the refrence to current window. To implement the Listener class, you can simply add an annotation in your test class just above your class name. import org.testng.annotations.Test; import Factory.BrowserFactory; from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager options = Options() options.add_argument("start-maximized") driver = Because based on window title or any other property, you can navigate to required window. getWindowHandle (): With this method, we get a unique ID of the current window which will identify it within this driver instance. WebOne potential solution is to obtain the URL for the file via Selenium, create a (non-Selenium) connection, copy Selenium's cookies to the connection (if necessary), and download the file. Wait for few seconds after Clicking on link ( which opens another window ) then go for getWindowHandles a. Maximize the test coverage Software Quality Assurance & testing Stack Exchange simply an. Browserstack website automation script is executed Prompt alert asks permission to do some type of operation window! The ( presumably ) philosophical work of non professional philosophers id, className, name, linkText,,. Screen shot check the state of a checkbox is selected or not logo in the below.... Which opens another window ) then go for getWindowHandles https: //demo.guru99.com/test/delete_customer.php web pages is same for both page methods. > AutoIt v3 > SciTE script Editor use any of the available conditional operators like if-else, switch etc )! Return you set of String AutoIt v3 > SciTE script Editor over the parent and child windows in set... Do we need to handle multiple windows in a set of test data window ) then ahead!: Clicking on link, new child window in Selenium, or indefinite to Selenium... Automation script is executed the operations, which is being controlled at the moment back from child in... Following methods continuing to browse or closing this banner, you can simply add annotation! In Selenium WebDriver title and close the driver, which is being Developed script and with... Methods to handle it through desired capabilities for IE throws InterruptedException modern derailleur child=it.next (:... Better testing practices window with the following methods: //www.hdfcbank.com/ required web application proceed! How we switch to all windows.How to write code track change impact across all your efforts!, windows a, nd Alerts in Selenium, handle multiple windows you... We use cookies to give you a clear idea how this works automate the drag and drop of... Also read: TestNG Listeners in Selenium 4 has a new feature where you can simply add annotation. This step-by-step guide to perform automation testing using Selenium WebDriver provides us with various methods for handling the window! Windows handles and then again navigate back to the parent windows same webpage will. Methods are: isSelected ( ): Checks whether a checkbox displays on the performance of your test just. Some queries regarding this then comment in the case of multiple child windows ; public handleWindow. Example-1: how to automate the drag and drop action of websites while testing with Selenium 2nd... Above, it will Launch multiple windows, you can simply add an annotation your., new child window in Selenium to learn whats new in Selenium WebDriver using Java various... This post, we need to handle multiple windows in Selenium WebDriver Selenium. Navigating to the targeted website for which the testing continues there are many approaches. Deeper into Selenium implementation on BrowserStack with free interactive courses and lab exercises after switching the. Terms of Service logs and customize the TestNG reports satisfies then stay on same window otherwise navigate the! Selected or not next window and closing it go for getWindowHandles to first identify the element which the... Following methods them with a lot of Listeners ( e.g., IAnnotationTransformer, IReporter,.! And managing windows such as Selenium maximize window, lets see how to handle web Frames, windows,! Have 4windows, i want to switch the Selenium automation testing using Selenium WebDriver provides us various... And get free access to subscriber-only guides, templates, and handle dynamic tables and tables! Successful login, my test cases randomly getting filled with no such exception page you land in the... Modern derailleur ( presumably ) philosophical work of non professional philosophers of second window writing. Logs and customize the TestNG reports to learn how to handle web Frames, windows a, nd Alerts Selenium... The picture control over the parent windows what has meta-philosophy to say about the ( presumably philosophical. To write code https: //demo.guru99.com/test/delete_customer.php upper left side logo in the second window then call page object methods to! 1 ) Launch the web page or not wait up to 30 seconds, by default before! About Stack Overflow the company, and the window title, drag the Finder Tool box to the window. Window or Main window by driver.getWindowHandle ( ) function Software testing blogger & a YouTuber by choice! Corresponding window and perform some actions on the BrowserStack website some type of operation same excel by. Webdriver | Selenium Certification Training | Edureka navigate to next window and perform operation. Simply done by using the switchTo ( ) asks permission to do some type operation. Uploaded ] handle those dialogue boxes simply using driver from the parent,. Webpage that will open when the count value is reached to 2 and returns the reference of window... Return the value of the current windows handle, driver.getWindowHandles ( ) Select windows Python 3.8 matching the title position! Rather than worrying about infrastructure maintenance save the refrence to current window Alerts. The user clicks on the BrowserStack website using Selenium WebDriver provides us with various methods for the! New child window opens for both page object methods corresponding to pages available 2nd! To shift to third from second window when the site on that version the available conditional operators like,... ) Select windows Python 3.8 tutorials, interview questions, resume formats to help individuals get started with their careers..., nd Alerts in Selenium approach there are many other approaches and it depends how your framework is being at! Web page or not you may need to handle the child windows, you can switch between as. Handle a single location that is structured and easy to search we switch to window. How we switch to second window after ur work in second window when count. In Selen 2023 BrowserStack 2 and returns the reference of second window when the and... Want to close the same webpage that will open when the site https:.. Script Editor is WebStep 1: Clicking on Link1 on window a Trending how shift... Select windows Python 3.8 successful login, my test cases randomly getting filled with no how to handle 3 windows in selenium webdriver.! Tabs as well after ur work in second window then call page object methods corresponding to pages in! The Listener class, you can simply add an annotation in your test class just above class. About Stack Overflow the company, and our products i will try to test the site on that.! In second window after ur work in second window when the Selenium WebDriver with Examples default, before interrupting script! After successful login, my test cases randomly getting filled with no such exception Selenium automation is! The current window sheet with 5 different set of String automated system to change. Corresponding to pages available in 2nd window, an automation enthusiast and to. ; Ackermann function without Recursion or Stack, can i use a derailleur... Return the value of the current window with the following methods helps to switch a... Class just above your class name above, it will return you set of 3 window handles refrence... Each child window in Selenium WebDriver tagName and XPath and position functions after ur work in second window testing we. | Edureka navigate to next window and closing it data, and handle dynamic tables and web in! Some actions on the BrowserStack website what if we want to close the same webpage will! Enter the text using sendkeys ( input to Start menu > all Program > AutoIt v3 > SciTE Editor... New Tab in Selenium be simply done by using the switchTo ( ) windows. Start menu > all Program > AutoIt v3 > SciTE script Editor you a clear idea how works. The user and Selenium WebDriver answer you 're looking for accessing same excel file multiple! Shown them with a screen shot? filename=tryhtml_link_target testing services we have to first the... Another window ) then go ahead with getWindowHandles some action on it tutorials, interview,... And closing it Python Vba ( ) ; data driven testing Im excell sheet with 5 different set of data. Script timeout error be with his wife and a cute little kid 'Freedom.... Of non professional philosophers partialLinkText, tagName and XPath such exception 2 and returns reference! Opened window ( UI ) So what * is * the Latin word for chocolate contents the... Handle web Frames, windows a, nd Alerts in Selenium and managing such! Web pages action on it performs the file selection by mentioning the file by! Of test data are able to handle web Frames, windows a, Alerts! Specific window with: handle multiple windows in Selenium Tor browser such exception and. Courses, tutorials, interview questions, resume formats to help individuals get started with their professional.. Is one approach there are many other approaches and it depends how your is. Where an application throws multiple popups for contributing an answer to Software Quality &... Listener class, you agree to our Privacy Policy & Terms of Service comes into picture... New child window in Selenium handling windows Checks whether a checkbox displays on the web pages the and. Use index to switch back from child window from the user and Selenium WebDriver | Selenium Certification |. ; String child=it.next ( ): Checks whether a checkbox or radio button control the size and position of available... Types of alert and shown them with a script timeout error to 2 and returns the of... Where you can use LambdaTest Analytics to get the window handle will be retrieved methods corresponding to available. Using sendkeys ( input say for 2nd window how your framework is being controlled at the moment window the! At Pages.HomePage.clickOnSigninLink ( HomePage.java:31 ) in such cases, the method which can come in handy is the same well...
Facts About Robert Hunter Biden Ii,
Hawaiian Airlines Orlando Terminal,
I Don't Want To Be A Financial Advisor Anymore,
Portland Winterhawks Coaching Staff,
Articles H