Forum Discussion

sonya_m's avatar
sonya_m
SmartBear Alumni (Retired)
5 years ago

[TechCorner Challenge #7] Retrieve Data from a Web Page

Hi Community members!

 

I’ve got a new task for you today. It will help you practice your TestComplete skills and, also, get into the Leaderboard!

 

Many of you know TanyaYatskovska - she is a SmartBear Community Manager and contributes a lot to the Community. Do you how many of her answers were marked as Solutions? This kind of info can be retrieved using TestComplete!

 

Task: Record a TestComplete script that will go to a user profile page (TanyaYatskovska in our case) and get the number of Solutions for a specific community member.

Difficulty:

 

Share your code (a keyword test or script) and the number of Solutions Tanya has in the comments below.

 

Note: You will need the Web Module to fulfill this task.

 

Good luck!

  • Task: Record a TestComplete script that will go to a user profile page (@TanyaGorbunova in our case) and get the number of Solutions for a specific community member.

     

    This is a solution created for [TechCorner Challenge #7]

     

     

    function GetSolNumber()
    {

    //Open the user profile page
    Browsers.Item(btChrome).Navigate("https://community.smartbear.com/t5/user/viewprofilepage/user-id/1737");

    // Get the number of the solutions
    var ProfilePage = Sys.Browser().Page("*");

    //Get the name of the profile

    var name = ProfilePage.QuerySelector('span.login-bold').contentText;

    // Identify the Solutionsdiv
    var solutionSec = ProfilePage.QuerySelector('div.UserSingleStatistic.lia-statistic-net_accepted_solutions.lia-component-users-widget-single-statistic div.lia-statistic-value');

    // Check the result
    if (solutionSec != null)
    // If the element was found, display the number of Solutions for the selected community member.
    {
    Log.Message("the number of Solutions for the profile of the member " + name + " is: " + solutionSec.contentText);
    }
    else
    // If the element was not found, post a warning to the log
    Log.Warning("The element was not found.");

    }

  • Task: Record a TestComplete script that will go to a user profile page (@TanyaGorbunova in our case) and get the number of Solutions for a specific community member.

     

    This is a solution created for [TechCorner Challenge #7]

     

    Hi All, 

     

    Was unsure of how to post a keyword test, so here is a screengrab of it from TestComplete

    My test uses Keyword with some scripted routine

     

    Where the script is removing the "solutions" text from the ContentText of the mapped area,

     

    function StringReplace(text)
    {
    var str = aqString.Replace(text, "Solutions", "");
    return str
    }

     

    Resulting in:

     

  • cbroad's avatar
    cbroad
    Occasional Contributor

    Task: Record a TestComplete script that will go to a user profile page (@TanyaGorbunova in our case) and get the number of Solutions for a specific community member.

     

    This is a solution created for [TechCorner Challenge #7]

     

    Hi All, 

     

    Was unsure of how to post a keyword test, so here is a screengrab of it from TestComplete

    My test uses Keyword with some scripted routine

     

    Where the script is removing the "solutions" text from the ContentText of the mapped area,

     

    function StringReplace(text)
    {
    var str = aqString.Replace(text, "Solutions", "");
    return str
    }

     

    Resulting in:

     

    • sonya_m's avatar
      sonya_m
      SmartBear Alumni (Retired)

      cbroad Awesome job! Thank you for posting this!🙂

       

      Next time, feel free to attach your whole project🙂

  • SiwarSayahi's avatar
    SiwarSayahi
    Occasional Contributor

    Task: Record a TestComplete script that will go to a user profile page (@TanyaGorbunova in our case) and get the number of Solutions for a specific community member.

     

    This is a solution created for [TechCorner Challenge #7]

     

     

    function GetSolNumber()
    {

    //Open the user profile page
    Browsers.Item(btChrome).Navigate("https://community.smartbear.com/t5/user/viewprofilepage/user-id/1737");

    // Get the number of the solutions
    var ProfilePage = Sys.Browser().Page("*");

    //Get the name of the profile

    var name = ProfilePage.QuerySelector('span.login-bold').contentText;

    // Identify the Solutionsdiv
    var solutionSec = ProfilePage.QuerySelector('div.UserSingleStatistic.lia-statistic-net_accepted_solutions.lia-component-users-widget-single-statistic div.lia-statistic-value');

    // Check the result
    if (solutionSec != null)
    // If the element was found, display the number of Solutions for the selected community member.
    {
    Log.Message("the number of Solutions for the profile of the member " + name + " is: " + solutionSec.contentText);
    }
    else
    // If the element was not found, post a warning to the log
    Log.Warning("The element was not found.");

    }

    • sonya_m's avatar
      sonya_m
      SmartBear Alumni (Retired)

      Conrgats SiwarSayahi ! This works great🙂

       

      By the way, the "Use XPath and CSS selectors for web objects" mode in TestComplete makes it much easier to work with CSS and XPath selectors. It allows you to copy selectors from Object Spy and create a script manually, or record a test as usual - TestComplete will automatically use selectors when mapping objects.