public void click_random_retailer()
{
int randomNumber = new Random().nextInt(discoverPageObjects.merchantDivs.size() - 1) + 1;
WebElement div = discoverPageObjects.merchantDivs.get(randomNumber);
retailerName = div.findElement(By.cssSelector(discoverPageObjects.merchantNameLoc)).getText();
System.out.println("Going to click Merchant -> " + retailerName);
WebElement merchantBtn = div.findElement(By.cssSelector(discoverPageObjects.merchantBtnLoc));
merchantBtn.click();
}
1 Answer
No. From the Java documentation:
Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
As an aside, the range of the parameterless version of nextInt is Integer.MIN_VALUE to Integer.MAX_VALUE, inclusive.
Proof that it can return negative numbers:
$ cat r.java
import java.util.Random;
public class r {
public static void main(final String[] args) {
final Random random = new Random();
for (int i=0; i<100; i++) {
System.out.println(random.nextInt());
}
}
}
$ javac -d . r.java
$ java -cp . r | grep -- - | wc -l
49