簡體   English   中英

僅在遠程計算機上,不會生成TestnG結果,其結果是運行的總測試次數:0,失敗次數:0,跳過次數:0

[英]Only in Remote Machine TestnG results are not generating ,It's resulting as Total tests run: 0, Failures: 0, Skips: 0

我知道這是最常見的問題,並且有很多解決方案,並且有可能發生此問題的各種可能性。 我嘗試了以下所有可能性,但仍然沒有運氣。

我知道這會有點冗長,但想根據以前的經驗提供詳細信息。

首先要考慮的2個重要事項:(我的測試套件包含1K多個測試用例)

  • 這在本地計算機上運行完美,與遠程拋出此問題時的相同設置和代碼相同

  • 如果我在100個以下的測試用例下運行,即使在遠程計算機上它也可以完美生成,但是如果在此之上,則這是由於運行總測試:0,失敗:0,跳過:0(因此,范圍報告也不會生成, 但是所有的測試用例都執行得很好

嘗試過的可能性:

  • 檢查所有方法的@Test批注

  • 給定Void的所有@Test方法的返回類型

  • 僅導入Testng罐子和包裝 (不導入Junit)

  • 所有方法僅具有公共訪問權限 (非私有)

  • 在Eclipse中正確配置了TestNg

  • 完全刷卡並重新安裝(也完成了許多重啟:()

  • 在構建路徑中正確配置了所有必需的jar

配置:

  • 硒-3.7.1
  • 測試NG-6.13
  • 螞蟻-10.0.2
  • 范圍報告-2.4.1
  • Eclipse霓虹燈4.6.3

注意:以上所有配置在本地和遠程期望操作系統本地均相同-Win -7&10,遠程計算機-2012服務器

我看不到代碼就可以理解,我們無法分析出了什么問題,但是我不確定它在本地計算機上工作可能會有所幫助,但是共享所需的代碼

樣本測試用例:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.rmi.UnexpectedException;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.Random;
import java.util.Set;

import org.openqa.selenium.By;
import org.openqa.selenium.InvalidElementStateException;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Keys;
import org.openqa.selenium.StaleElementReferenceException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;

import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

import com.pps.atm.pom.ccl.*;
import com.pps.atm.pom.core_framework_components.*;
import com.pps.atm.pom.dataproviders.*;
import com.pps.atm.pom.dataproviders.URL_Setup.settingUrls;
import com.pps.atm.pom.pages.admin.*;
import com.pps.atm.pom.pages.frontend.*;
import com.relevantcodes.extentreports.LogStatus;

public class MyDev_Area_Local extends Local_DriverManager {

    @Test
    public void CK_DSK_LG_PopularToday_Newest_CTA_ActivateRewards_EUSignIn_SignInWithFB_Popup_Verification(
            Method method) throws InterruptedException, AWTException {

        ExtentTestManager.getTest().setDescription(
                "Menu Popular today -> Automation Specific Store Category-> Newest tab, activate rewards existing user sign in sign in with FB popup verification..");
        ExtentTestManager.getTest().log(LogStatus.INFO, "Test case : " + method.getName()
                + " - Execution Started With Thread ID  : " + Thread.currentThread().getId());
        System.out.println("Test case : " + method.getName() + " - Execution Started With Thread ID  : "
                + Thread.currentThread().getId());

        // Respective pages object creation
        objHomePage = new HomePage(objDriver);
        objMenuItems = new MenuItems(objDriver);
        objVIP = new Voucher_Intermediate_Page(objDriver);
        objComCTA = new Common_CTA_Buttons(objDriver);
        objSUPLinkPage = new SignIn_Joinfree_Popup(objDriver);
        objStoreCategoryPage = new StoreCategoryPage(objDriver)

Testng Xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite
    name="PPS- Test Automation Framework for Desktop website - Local Execution"
    parallel="tests" thread-count="1">

    <listeners>
        <listener class-name="com.pps.atm.pom.core_framework_components.TestListener" />
    </listeners>
    <test name="Execution on Firefox" parallel="methods" thread-count="1">

        <parameter name="browser" value="firefox" />
        <parameter name="platform" value="WINDOWS" />
        <classes>
            <class name="com.pps.atm.pom.devarea.MyDev_Area_Local" />
        </classes>
    </test>
</suite> 

結果:

   [testng] [Parent 4896, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
   [testng] Testcase : CK_DSK_WithoutReferal_SignUpBonus_As_Zero_And_ReferalBonusValue_As_Zero_UserReferralValue_AS_Zero_Setup_Verification_For_NewUserexecution completed with Thread ID : 10
   [testng] Testcase : CK_DSK_WithoutReferal_SignUpBonus_As_Zero_And_ReferalBonusValue_As_Zero_UserReferralValue_AS_Zero_Setup_Verification_For_NewUser - execution successfully completed :) ..!
   [testng] [GFX1-]: Receive IPC close with reason=AbnormalShutdown
   [testng] [GFX1-]: Receive IPC close with reason=AbnormalShutdown
   [testng] 1520507985755   geckodriver INFO    geckodriver 0.19.1
   [testng] 1520507985799   geckodriver INFO    Listening on 127.0.0.1:19279
   [testng] 1520507986370   mozrunner::runner   INFO    Running command: "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\rust_mozprofile.pxDUcwVEb9zl"
   [testng] 1520507989413   Marionette  INFO    Enabled via --marionette
   [testng] [Parent 3220, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
   [testng] 1520508003543   Marionette  INFO    Listening on port 57333
   [testng] 1520508004282   Marionette  WARN    TLS certificate errors will be ignored for this session
   [testng] Mar 08, 2018 11:20:05 AM org.openqa.selenium.remote.ProtocolHandshake createSession
   [testng] INFO: Detected dialect: W3C
   [testng] Test execution started on browser  : firefox With Thread ID : 10
   [testng] Testcase : CK_DSK_WithoutReferal_SignUpBonus_As_Zero_And_ReferalBonusValue_As_Zero_UserReferralValue_AS_Zero_Setup_Verification_For_NewUser_From_JFPopUP - execution started ..!

       [testng] Test case : CK_DSK_WithoutReferal_SignUpBonus_As_Zero_And_ReferalBonusValue_As_Zero_UserReferralValue_AS_Zero_Setup_Verification_For_NewUser_From_JFPopUP - Execution Started With Thread ID  : 10
       [testng] JavaScript error: https://dev6ck.iamsavings.co.uk//themes/ck-storepage-v2/js/plugins.min.1519992761.js, line 22: SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
       [testng] R Value as 1157784
       [testng] Count  tab 2
       [testng] SignIn bonus as : 0.0
       [testng] Referal bonus as : 0.0
       [testng] UserReferral_Bonus_Value as : 0.0
       [testng] Count  tab 2
       [testng] Testcase : CK_DSK_WithoutReferal_SignUpBonus_As_Zero_And_ReferalBonusValue_As_Zero_UserReferralValue_AS_Zero_Setup_Verification_For_NewUser_From_JFPopUP - execution Failed :( - please look into this ..!
       [testng] [Parent 3220, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
       [testng] [GFX1-]: Receive IPC close with reason=AbnormalShutdown
       [testng] [GFX1-]: Receive IPC close with reason=AbnormalShutdown
       [testng] [Child 1728, Chrome_ChildThread] WARNING: pipe error: 232: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 513
       [testng] We are on - onFinish method : Execution on Firefox and finishing the testsuite execution ..!
       [testng] ===============================================
       [testng] PPS- Test Automation Framework for Desktop website - Local Execution
       [testng] Total tests run: 0, Failures: 0, Skips: 0
       [testng] ===============================================
       [testng] The tests failed.
    BUILD SUCCESSFUL
    Total time: 286 minutes 2 seconds*

測試案例樣本:

@Test
    public void CK_DSK_WithoutReferal_SignUpBonus_As_Zero_And_ReferalBonusValue_As_Zero_UserReferralValue_AS_Zero_Setup_Verification_For_NewUser_From_JFPopUP(
            Method method) throws InterruptedException, AWTException {

        ExtentTestManager.getTest().setDescription(
                "Navigating to Admins for Settings -> Parnter settings -> Setting Signup value as Zero & referal bonus value as Zero and verifying from the front end..");
        ExtentTestManager.getTest().log(LogStatus.INFO, "Test case : " + method.getName()
                + " - Execution Started With Thread ID  : " + Thread.currentThread().getId());
        System.out.println("Test case : " + method.getName() + " - Execution Started With Thread ID  : "
                + Thread.currentThread().getId());

        objSoftAssertion = new SoftAssert();
        objJF_PopUpPage = new JoinFreePage(objDriver);
        objHomePage = new HomePage(objDriver);
        objMyAccounts = new MyAccounts_Page(objDriver);
        objAdminCoreFunc = new Admin_Core_Functions(objDriver);
        objAdminLoginPage = new Admin_Login_Page(objDriver);
        objPartner_Settings = new Settings_Partner_Settings(objDriver);
        objSUPLinkPage = new SignIn_Joinfree_Popup(objDriver);
        objUsersPage = new Users_Users_Page(objDriver);
        objReferEarnPage = new Refer_Earn_Page(objDriver);
        objAdmin_Search_Page = new Admin_Search_Page(objDriver);

        objComCon = new Common_Controls(objDriver);
        objComCTA = new Common_CTA_Buttons(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO, "Navigating to home page and Joining In ...");
        objHomePage.navigateURL(objDriver);

        objHomePage.signinPopup_Header_LinkClick(objDriver);
        objSUPLinkPage.linkSignUp_Click(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO, "Navigating to get captcha page and returns captcha code...");
        String strCaptchaValue = objSUPLinkPage.joinFreePopUp_Captch_Generation(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Return back to Join free page and entering all join free page field values ...");
        String strNewJoin_UserEmail_1 = objJF_PopUpPage.joinFreePage_FeildValues_Entering_forUserName(objDriver,
                strCaptchaValue);
        String strNewJoin_Password_1 = testdata.get(1).get("strPassword").trim();
        String strNewJoin_UserName_1 = testdata.get(1).get("strFirstName").trim();
        objHomePage.userLoggedIn_Verification(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO, "Navigating to ReferFriend & fetching referral link ...");
        objHomePage.dropdown_MYAccounts_Click(objDriver);
        objMyAccounts.topMenu_ReferFriend_Navigation(objDriver);
        String strNewJoin_Referal_Link = objReferEarnPage.fetch_Referal_Link(objDriver);
        String[] strSplitValue = strNewJoin_Referal_Link.split("/r=");
        String strNewJoin_Referal_Value = strSplitValue[1];

        System.out.println("R Value as " + strNewJoin_Referal_Value);

        objSUPLinkPage.logOut_Verification(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Navigating to admin URls and navigating to admin home page...");
        String strFurtherStatus_0 = CCL_Class.General.tabToggle_NavigateNewURL_Tab_count_2(objDriver,
                (URL_Setup.settingUrls.admin_Url_Base).trim());
        objAdminLoginPage.enter_Credentials_And_Homepage_Navigation(objDriver);

        // Setting User Referal Bonus values in user sub tab @ User main tab
        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Navigating to adminSettings -> user main tab -> User sub tab -> User referral bonus ..");
        objAdminLoginPage.mainmenu_Users_Click(objDriver);
        objUsersPage.subMenu_Users_Navigation(objDriver);

        // Admin Search page
        objAdmin_Search_Page.searchPage_select_SearchBy(objDriver, "User Email");
        objAdmin_Search_Page.searchPage_Input_Keyword_UserTab(objDriver, strNewJoin_UserEmail_1);
        objAdmin_Search_Page.button_Submit_Users_Tab_User(objDriver);

        objUsersPage.editButton_ResultTable(objDriver, strNewJoin_Referal_Value);

        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Setting user referal bonus values in user edit page & saving the values  ...");
        float intUserReferral_Bonus_Value = (float) objUsersPage
                .editPartnerDetails_input_User_Referral_Bonus_Value(objDriver, 0);
        objUsersPage.button_Save_Click(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Navigating to adminSettings -> Parnter settings -> Setting Signup bonus values..");
        objAdminLoginPage.mainmenu_Settings_Click(objDriver);
        objPartner_Settings.subMenu_Partner_Settings_Navigation(objDriver);
        objPartner_Settings.editPartnerDetails_Editbutton_Click(objDriver);

        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Setting Signup & referal bonus values in Parnter settings edit page & saving the values  ...");
        float intSignUp_Bonus_Value = (float) objPartner_Settings.editPartnerDetails_input_SignUp_Bonus_Value(objDriver,
                0);
        float intReferal_Bonus_Value = (float) objPartner_Settings
                .editPartnerDetails_input_Referal_Bonus_Value(objDriver, 0);
        objPartner_Settings.button_Save_Click(objDriver);

        // will be removed
        System.out.println("SignIn bonus as : " + intSignUp_Bonus_Value);
        System.out.println("Referal bonus as : " + intReferal_Bonus_Value);
        System.out.println("UserReferral_Bonus_Value as : " + intUserReferral_Bonus_Value);

        ExtentTestManager.getTest().log(LogStatus.INFO, "Opening new tab and navigating to join free page to join...");
        String strFurtherStatus = CCL_Class.General.tabToggle_NavigateNewURL_Tab_count_2(objDriver,
                (URL_Setup.settingUrls.url_Home).trim());
        objHomePage.signinPopup_Header_LinkClick(objDriver);
        objSUPLinkPage.linkSignUp_Click(objDriver);

        if (strFurtherStatus.contains("Success")) {

            objJF_PopUpPage.joinFreePage_Navigated_Verification(objDriver);

            ExtentTestManager.getTest().log(LogStatus.INFO,
                    "Opened new tab & Navigating to navigate join free page ...");
            String strCaptchaValue_1 = objSUPLinkPage.joinFreePage_Captch_Generation_Tab_Count_3(objDriver);

            ExtentTestManager.getTest().log(LogStatus.INFO,
                    "Return back to Join free page and entering all join free page field values ...");
            objJF_PopUpPage.joinFreePage_FeildValues_Entering(objDriver, strCaptchaValue_1);
            objHomePage.userLoggedIn_Verification(objDriver);

            objHomePage.dropdown_MYAccounts_Click(objDriver);
            objMyAccounts.topMenu_MyEarnings_Navigation(objDriver);
            objMyAccounts.tab_MyEarnings_CBEarnings_Navigation(objDriver);

            float intAvailableCB = objMyAccounts.cash_MyEarningsTab_AvailableCB(objDriver);

            // Asserting the Cashback value with backend singup bonus data
            if (intAvailableCB == intSignUp_Bonus_Value) {

                ExtentTestManager.getTest().log(LogStatus.INFO,
                        "Successfully, Asserted live cashback & backend singup bonus data");

            } else {

                ExtentTestManager.getTest().log(LogStatus.FAIL,
                        "Assertion failed - for live cashback & backend singup bonus data");
            }

            System.out.println("SignIn bonus from frontend as : " + intAvailableCB);

        } else {

            ExtentTestManager.getTest().log(LogStatus.FAIL,
                    "not able to Open new tab and navigating to join free page to join...");
        }

        ExtentTestManager.getTest().log(LogStatus.INFO,
                "Verified successfully that user as Joined with respective signup  values entered in backend ...");
        ExtentTestManager.getTest().log(LogStatus.INFO, "Testcase : " + method.getName()
                + "execution completed with Thread ID : " + Thread.currentThread().getId());
        System.out.println("Testcase : " + method.getName() + "execution completed with Thread ID : "
                + Thread.currentThread().getId());
    }

重命名您的測試類,並使用“ Test”作為后綴或前綴。常規上,構建自動化工具(如ANT或MAVEN)可通過此后綴或前綴識別測試類。 您的班級名稱應類似於:

MyDev_Area_LocalTest

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM