Giter Site home page Giter Site logo

rationaleemotions / website Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 1.07 MB

This repository powers http://rationaleemotions.com In case you would like to reach out to me, you can do that as well via here via the "Discussions" tab

Home Page: http://rationaleemotions.com

License: MIT License

JavaScript 100.00%

website's People

Contributors

email2vimalraj avatar krmahadevan avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

email2vimalraj

website's Issues

The loop does not break on success of @beforemethod

Was trying out this feature for my existing framework and encountered that @beforemethod does get triggered for 4 times in case of failure, but the loop is not broken in case of Assertion Pass.

Below is the code snippet

private int counter = 1;
@BeforeMethod()
	@Retriable(attempts = 4)
	public void setup(Method method) {
				initiate();
				System.out.println("Test name: " + method.getName());
				AssertJUnit.assertEquals(2, counter++);
				LoginPageObj = new LoginPage();
				AgenciesLandingPageObj = new AgenciesLandingPage();
				utils = new CommonUtils();
				error_message = "";				
		}

Further observed that the value for testResult in case of assertion getting passed (AssertJUnit.assertEquals) remains unchanged while eventually does not break the loop here

@Override
	  public void run(IConfigureCallBack callBack, ITestResult testResult) {
	    Retriable retriable =
	        testResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(Retriable.class);
	    int attempts = 1;
	    if (retriable != null) {
	      attempts = retriable.attempts();
	    }
	    for (int attempt = 1; attempt <= attempts; attempt++) {	
	      callBack.runConfigurationMethod(testResult);
	      if (testResult.getThrowable() == null) {
	        break;
	      }
	    }
	  }

Are there any more changes that are needed to resolve this ?

PS - current testng version used

org.testng
testng
7.3.0
compile

IAnnotation transform method is not disabling the test in testng

Here my intention is , Based on the before method condition the @Test method needs to enabled or disabled But in the below code even though I am passing the test case name its not getting skipped ? Can anyone suggest me solution?

I need the BeforeTestMethod to check some logic in my actual code and based on that I have to enable the @Test in the class file

public class ListnerClass implements IAnnotationTransformer {
public static String  testName;
public void transform(ITestAnnotation iTest, Class testClass, Constructor testConstructor, Method method) {
	if(method.getName().equalsIgnoreCase(testName)) {
		iTest.setEnabled(false);
	}
	
}

public class TestNGTest3 {
@BeforeMethod
public void setUp(Method result) {
	System.out.println("This is the before Method getting name "+result.getName());
	if(result.getName().contains("3")) 
       {
		ListnerClass.testName=result.getName();

	}
}

@Test
public void testMethod3() {
	System.out.println("This is the Method of Method");
}

@Test
public void testMethod4() {

	System.out.println("Hi");
}


	
}

TestNG.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name=" Regression Suite">
    <listeners>
	<listener class-name="com.listners.ListnerClass" />
    </listeners>
    <test thread-count="1" name="Test">
	<classes>
		<class name="com.test.TestNGTest3" />
	</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

Output:

This is the before Method getting name testMethod3
This is the Method of Method
This is the before Method getting name testMethod4
Hi

not working unable to debug

"C:\Program Files\Java\jdk1.8.0_25\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:60519,suspend=y,server=n -ea -javaagent:C:\data\maven_local_repository/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar -Didea.test.cyclic.buffer.size=1048576 LOCALmeet
.IdeaIC2018.3\system\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3\plugins\testng\lib\testng-plugin.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_25\jre\lib\rt.jar;D:\data\CPWorkflow\target\test-classes;D:\data\CPWorkflow\target\classes;C:\data\maven_local_repository\org\aspectj\aspectjweaver\1.8.10\aspectjweaver-1.8.10.jar;C:\data\maven_local_repository\org\codehaus\groovy\groovy-all\2.4.9\groovy-all-2.4.9.jar;C:\data\maven_local_repository\ru\yandex\qatools\ashot\ashot\1.4.10\ashot-1.4.10.jar;C:\data\maven_local_repository\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;C:\data\maven_local_repository\org\hamcrest\hamcrest-all\1.3\hamcrest-all-1.3.jar;C:\data\maven_local_repository\com\googlecode\lambdaj\lambdaj\2.3.3\lambdaj-2.3.3.jar;C:\data\maven_local_repository\cglib\cglib-nodep\2.2\cglib-nodep-2.2.jar;C:\data\maven_local_repository\org\awaitility\awaitility\3.0.0\awaitility-3.0.0.jar;C:\data\maven_local_repository\org\hamcrest\hamcrest-library\1.3\hamcrest-library-1.3.jar;C:\data\maven_local_repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\data\maven_local_repository\org\objenesis\objenesis\2.5.1\objenesis-2.5.1.jar;C:\data\maven_local_repository\org\awaitility\awaitility-proxy\3.0.0\awaitility-proxy-3.0.0.jar;C:\data\maven_local_repository\net\bytebuddy\byte-buddy\1.6.11\byte-buddy-1.6.11.jar;C:\data\maven_local_repository\com\jayway\jsonpath\json-path\2.3.0\json-path-2.3.0.jar;C:\data\maven_local_repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\data\maven_local_repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\data\maven_local_repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\data\maven_local_repository\com\jayway\restassured\xml-path\2.0.0\xml-path-2.0.0.jar;C:\data\maven_local_repository\org\codehaus\groovy\groovy-xml\2.2.0\groovy-xml-2.2.0.jar;C:\data\maven_local_repository\org\codehaus\groovy\groovy\2.2.0\groovy-2.2.0.jar;C:\data\maven_local_repository\org\ow2\asm\asm-tree\4.1\asm-tree-4.1.jar;C:\data\maven_local_repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\data\maven_local_repository\org\ow2\asm\asm-util\4.1\asm-util-4.1.jar;C:\data\maven_local_repository\org\ow2\asm\asm-commons\4.1\asm-commons-4.1.jar;C:\data\maven_local_repository\org\ow2\asm\asm\4.1\asm-4.1.jar;C:\data\maven_local_repository\org\ow2\asm\asm-analysis\4.1\asm-analysis-4.1.jar;C:\data\maven_local_repository\com\jayway\restassured\rest-assured-common\2.0.0\rest-assured-common-2.0.0.jar;C:\data\maven_local_repository\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;C:\data\maven_local_repository\org\apache\httpcomponents\httpclient\4.5.5\httpclient-4.5.5.jar;C:\data\maven_local_repository\org\apache\httpcomponents\httpcore\4.4.9\httpcore-4.4.9.jar;C:\data\maven_local_repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\data\maven_local_repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\data\maven_local_repository\io\rest-assured\rest-assured\3.0.7\rest-assured-3.0.7.jar;C:\data\maven_local_repository\org\apache\httpcomponents\httpmime\4.5.1\httpmime-4.5.1.jar;C:\data\maven_local_repository\org\ccil\cowan\tagsoup\tagsoup\1.2.1\tagsoup-1.2.1.jar;C:\data\maven_local_repository\io\rest-assured\xml-path\3.0.7\xml-path-3.0.7.jar;C:\data\maven_local_repository\javax\xml\bind\jaxb-api\2.2.12\jaxb-api-2.2.12.jar;C:\data\maven_local_repository\io\rest-assured\json-path\3.0.7\json-path-3.0.7.jar;C:\data\maven_local_repository\org\codehaus\groovy\groovy-json\2.4.12\groovy-json-2.4.12.jar;C:\data\maven_local_repository\io\rest-assured\rest-assured-common\3.0.7\rest-assured-common-3.0.7.jar;C:\data\maven_local_repository\org\apache\poi\poi\3.17\poi-3.17.jar;C:\data\maven_local_repository\org\apache\commons\commons-collections4\4.1\commons-collections4-4.1.jar;C:\data\maven_local_repository\org\apache\poi\poi-ooxml\3.17\poi-ooxml-3.17.jar;C:\data\maven_local_repository\org\apache\poi\poi-ooxml-schemas\3.17\poi-ooxml-schemas-3.17.jar;C:\data\maven_local_repository\org\apache\xmlbeans\xmlbeans\2.6.0\xmlbeans-2.6.0.jar;C:\data\maven_local_repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\data\maven_local_repository\com\github\virtuald\curvesapi\1.04\curvesapi-1.04.jar;C:\data\maven_local_repository\com\paulhammant\ngwebdriver\1.1.4\ngwebdriver-1.1.4.jar;C:\data\maven_local_repository\io\rest-assured\json-schema-validator\3.0.7\json-schema-validator-3.0.7.jar;C:\data\maven_local_repository\com\github\fge\json-schema-validator\2.2.6\json-schema-validator-2.2.6.jar;C:\data\maven_local_repository\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\data\maven_local_repository\joda-time\joda-time\2.3\joda-time-2.3.jar;C:\data\maven_local_repository\com\googlecode\libphonenumber\libphonenumber\6.2\libphonenumber-6.2.jar;C:\data\maven_local_repository\com\github\fge\json-schema-core\1.2.5\json-schema-core-1.2.5.jar;C:\data\maven_local_repository\com\github\fge\uri-template\0.9\uri-template-0.9.jar;C:\data\maven_local_repository\com\github\fge\msg-simple\1.1\msg-simple-1.1.jar;C:\data\maven_local_repository\com\github\fge\btf\1.2\btf-1.2.jar;C:\data\maven_local_repository\com\github\fge\jackson-coreutils\1.8\jackson-coreutils-1.8.jar;C:\data\maven_local_repository\com\fasterxml\jackson\core\jackson-databind\2.2.3\jackson-databind-2.2.3.jar;C:\data\maven_local_repository\com\fasterxml\jackson\core\jackson-annotations\2.2.3\jackson-annotations-2.2.3.jar;C:\data\maven_local_repository\com\fasterxml\jackson\core\jackson-core\2.2.3\jackson-core-2.2.3.jar;C:\data\maven_local_repository\org\mozilla\rhino\1.7R4\rhino-1.7R4.jar;C:\data\maven_local_repository\javax\mail\mailapi\1.4.3\mailapi-1.4.3.jar;C:\data\maven_local_repository\javax\activation\activation\1.1\activation-1.1.jar;C:\data\maven_local_repository\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar;C:\data\maven_local_repository\com\relevantcodes\extentreports\2.41.2\extentreports-2.41.2.jar;C:\data\maven_local_repository\org\jsoup\jsoup\1.8.3\jsoup-1.8.3.jar;C:\data\maven_local_repository\org\xerial\sqlite-jdbc\3.8.11.1\sqlite-jdbc-3.8.11.1.jar;C:\data\maven_local_repository\org\freemarker\freemarker\2.3.23\freemarker-2.3.23.jar;C:\data\maven_local_repository\org\mongodb\mongodb-driver\3.0.4\mongodb-driver-3.0.4.jar;C:\data\maven_local_repository\org\mongodb\bson\3.0.4\bson-3.0.4.jar;C:\data\maven_local_repository\org\mongodb\mongodb-driver-core\3.0.4\mongodb-driver-core-3.0.4.jar;C:\data\maven_local_repository\org\testng\testng\6.14.2\testng-6.14.2.jar;C:\data\maven_local_repository\com\beust\jcommander\1.72\jcommander-1.72.jar;C:\data\maven_local_repository\org\apache-extras\beanshell\bsh\2.0b6\bsh-2.0b6.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-java\3.141.59\selenium-java-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-api\3.141.59\selenium-api-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-chrome-driver\3.141.59\selenium-chrome-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-edge-driver\3.141.59\selenium-edge-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-firefox-driver\3.141.59\selenium-firefox-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-ie-driver\3.141.59\selenium-ie-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-opera-driver\3.141.59\selenium-opera-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-remote-driver\3.141.59\selenium-remote-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-safari-driver\3.141.59\selenium-safari-driver-3.141.59.jar;C:\data\maven_local_repository\org\seleniumhq\selenium\selenium-support\3.141.59\selenium-support-3.141.59.jar;C:\data\maven_local_repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\data\maven_local_repository\com\google\guava\guava\25.0-jre\guava-25.0-jre.jar;C:\data\maven_local_repository\org\checkerframework\checker-compat-qual\2.0.0\checker-compat-qual-2.0.0.jar;C:\data\maven_local_repository\com\google\errorprone\error_prone_annotations\2.1.3\error_prone_annotations-2.1.3.jar;C:\data\maven_local_repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\data\maven_local_repository\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar;C:\data\maven_local_repository\com\squareup\okhttp3\okhttp\3.11.0\okhttp-3.11.0.jar;C:\data\maven_local_repository\com\squareup\okio\okio\1.14.0\okio-1.14.0.jar;C:\data\maven_local_repository\commons-io\commons-io\1.3.2\commons-io-1.3.2.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3\plugins\testng\lib\jcommander.jar" org.testng.RemoteTestNGStarter -usedefaultlisteners false -socket60515

-Dtestng.thread.affinity=true do not work when running multiple instance of test in parallel

Hi,

Gone through your link https://rationaleemotions.com/thread-affinity-in-testNG/ and I am seeing issue when

<suite name="test" parallel="instances" thread-count="10">	
    <test name="Test1">
        <packages>
            <package name="com.testfactory"/>
        </packages>
    </test>
</suite>

Test Class--

public class Test1 {

  @Test
  public void a() {
    System.err.println("Running a() on Thread " + Thread.currentThread().getId());
  }

  @Test(dependsOnMethods = "a")
  public void b() {
    System.err.println("Running b() on Thread " + Thread.currentThread().getId());
  }

I am having 2 instances of above test class which I want to run in parallel. I can see that both instance is getting same thread due to which test is get failed.

My Expectation is that two instance of test class should get different thread. All the test method within the test class should run in same thread.

Thread

No of threads depends on what criteria? thread-count attribute in testng.xml means what?

Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.