Turn your manual testers into automation experts! Request a DemoStart testRigor Free

Tips & Tricks – How to Test iFrames & Shadow DOMs

You can use testRigor to seamlessly test pages containing multiple levels of nested iframes and shadow DOMs. In this session we will walk you through the settings as well as some corner cases to fine tune the process.

Artem Golubev: Hello, everyone. I hope you’re having a great day today. We will talk about iframes and Shadow Doms and how testRigor works with both. It will probably be a concise session because testRigor works with both iframes and Shadow Doms transparently, and you don’t have anything or whatsoever to deal with that. You express steps purely from the end user’s perspective, and that’s it. There are some interesting quirks in both cases, and I’ll walk you through it as long as it’s very straightforward, as usual. Let me share my screen and show you something. So I have found this example on QA Playground. They have nested iframe. We will go ahead and create a nested iFrame demo. Okay, cool, let’s create a new test suite. We don’t need to generate anything. We have specified that this URL should have a different line, but never mind. Let’s record a couple of steps. Click on Nested iframe. Let’s validate that it has the click me button. As you can see it recorded the steps, and we don’t have to hover over them. We need to click on it actually. So, we click on the Nested iframe to get to this page. When we click on, click me, and then we validate that page contains this thing, let’s add it. This is our test case, and let’s see how it will work. So we get to this page, and it might fail. Let’s see how that will work and how to fix that in this case. So by default, testRigor automatically works transparently with iframes up to the second level. However, if you want to go deeper than that, you need just explicitly specify the steps. Because as you can see, it couldn’t find the bottom because there are more than two Nested iframe levels. 

So to support more levels of nested iframes, you can go to Advanced Settings; in our case, there should be one by default. So let’s set it up to five depth and save, go back and retest. That’s it. So all we did was we instructed the system that this is a kind of QA situation, and there might be more than one Nested iframe in there, and as you can see, it worked perfectly fine. It found the click me button and validated the text produced, which is also in that iframe. So this is as simple as it is to work with the iframes. As you can see, this is inside the Shadow Dom. In this case, this is legitimately Shadow Dom. And as an example. And as you can see, Shadow Dom is not appearing anywhere other than on this right side. So what we’ll do is I have to create a new test suite. You don’t need to set anything at all for Shadow Dom. It should just work out as most regardless of how many Shadow Dom or the level of Nested iframes. As you can see, it’s just worked out of the box with no problem. However, there is another interesting use case with two types of Shadow Dom. There’s open Shadow Dom and closed Shadow Dom, and open Shadow Dom is more or less straightforward, and we can work with that easily. However, Close Shadow Dom is not available. But we can still work with that. However, I have to show you how to do it. 

Let’s find some examples. I can’t find examples of it quickly, but it’s beside the point. It will work because you can enable OCR, and it will work with closed Shadow Dom , which doesn’t matter. They will be able to work with text that is parts of images with no problem at all. Anything visible to you as a human testRigor will be able to work with it out of the box. This is it. As I mentioned, there’s nothing in the code itself. It just works very transparently. The code is the same. Will you have to toggle some settings in some instances to be able to work with one variation or another? It is also straightforward, and you don’t have to quantify anything. All right. What are the questions? In some complexity, the actions tool is unable to automate. How do we approach this situation? Look, is there support for my customer’s selection procedure for us? Is there a possibility that testRigor can train team members and house experts?  

First, there shouldn’t be situations where testRigor wouldn’t work. And yes, you’re correct. Suppose you see something that doesn’t work as you would expect. You can report it to testRigor’s customer support overview. Our paying customers can access this testRigor support on Slack and MS teams, and you can create Zen desk tickets. Please go ahead and do that, and we will ensure that we will support your use case and it will work for you precisely the way you expected it to. And every paid customer of testRigor has unlimited support calls, so we are happy to train all your team members as in-house experts. No problem. You can set up a limited number of meetings or reserve support. All right, so this is one. Let’s see if there’s anything else. Any more questions? 

Connie Lund: Does anyone have any other questions? I do not see any. Shall we wrap it up Artem.

Artem Golubev: That was a specific topic. So we can wrap it up, No problem. As I mentioned, it’s so straightforward. In testRigor you shouldn’t bother with personal security details. It should just work out of the box.