Formatação CNPJ

2 respostas
Tester_Ana

Continuando a discussão do Selenium webdriver Máscara de CNPJ:
Boa Tarde!

Criei um método para transforma em string e o webdriver selenium atribuir ao campo, porém ainda a formatação do cnpj não é correta, assim o campo que possui máscara não aceita.

Então criei outro método para atribuir um cnpj fixo e na formatação correta, mesmo assim, no momento em que o webdriver insere o cnpj a formatação é incorreta.

public void atribuirLicenciador(Licenciador licenciador) {

try {

if (licenciador.getCnpj() != null && !licenciador.getCnpj().equals("")) {WebElement cnpjLicencor = (new WebDriverWait(driver, 20)).until(ExpectedConditions.visibilityOfElementLocated(<a href="http://By.id">By.id</a>(cnpjLicensor)));

cnpjLicencor.sendKeys(10.522.272/0001-05);

Thread.sleep(500);

}

veja como ele insere no campo: 20.001.051/0522-27

Outro detalhe, este erro ocorre em máquinas diferentes.

2 Respostas

F

`
package classes;

import java.util.InputMismatchException;

/**
*

  • @author Fabio Daros
    */
public class ValidaCNPJ {

public static boolean isCNPJ(String CNPJ) {

// considera-se erro CNPJs formados por uma sequencia de numeros iguais

if (CNPJ.equals(00000000000000) || CNPJ.equals(11111111111111) ||

CNPJ.equals(22222222222222) || CNPJ.equals(33333333333333) ||

CNPJ.equals(44444444444444) || CNPJ.equals(55555555555555) ||

CNPJ.equals(66666666666666) || CNPJ.equals(77777777777777) ||

CNPJ.equals(88888888888888) || CNPJ.equals(99999999999999) ||

(CNPJ.length() != 14))

return(false);
char dig13, dig14;
int sm, i, r, num, peso;


try {

  sm = 0;
  peso = 2;
  for (i=11; i>=0; i--) {

    num = (int)(CNPJ.charAt(i) - 48);
    sm = sm + (num * peso);
    peso = peso + 1;
    if (peso == 10)
       peso = 2;
  }

  r = sm % 11;
  if ((r == 0) || (r == 1))
     dig13 = '0';
  else dig13 = (char)((11-r) + 48);
// Calculo do 2o. Digito Verificador

sm = 0;

peso = 2;

for (i=12; i>=0; i) {

num = (int)(CNPJ.charAt(i)- 48);

sm = sm + (num * peso);

peso = peso + 1;

if (peso == 10)

peso = 2;

}
r = sm % 11;
  if ((r == 0) || (r == 1))
     dig14 = '0';
  else dig14 = (char)((11-r) + 48);
// Verifica se os dígitos calculados conferem com os dígitos informados.

if ((dig13 == CNPJ.charAt(12)) && (dig14 == CNPJ.charAt(13)))

return(true);

else return(false);

} catch (InputMismatchException erro) {

return(false);

}

}
public static String imprimeCNPJ(String CNPJ) {

// máscara do CNPJ: 99.999.999.9999-99

return(CNPJ.substring(0, 2) + “.” + CNPJ.substring(2, 5) + “.” +

CNPJ.substring(5, 8) + / + CNPJ.substring(8, 12) + - +

CNPJ.substring(12, 14));

}

}

`
DanieldaRosa

Oi Ana!

Pelo o que vi a máscara está certa, mas está inserindo com números diferentes.
O que acontece quando é inserido apenas números?
Você está usando qual browser? existia um problema similar (caracteres especiais) em uma versão antiga do ChromeDriver, veja em outro browser para certificar-se.
Tente realizar a mesma ação utilizando a classe Actions.
Qualquer coisa dá um grito ai :wink:

Criado 23 de fevereiro de 2016
Ultima resposta 26 de fev. de 2016
Respostas 2
Participantes 3