以下链接提到我们可以通过给出id找到元素...但我无法找到它.
https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/finding-elements.md
通过"名称"查找(即文本,标签或开发人员生成的ID,也称为元素的"accessibilityIdentifier")
我试过以下代码:
WebElement el = driver.findElement(By.name("txtLogin"));
Run Code Online (Sandbox Code Playgroud)
其中txtLogin是登录按钮的id
它给出了以下例外:
org.openqa.selenium.NoSuchElementException: An element could not be located on the page using the given search parameters. (WARNING: The server did not provide any stacktrace information)
Run Code Online (Sandbox Code Playgroud)
可以请任何人解释什么是在appium中找到元素的所有方法
我试图用"*"掩盖电子邮件地址,但我在正则表达式上表现不佳.
input : nileshxyzae@gmail.com
output : nil********@gmail.com
Run Code Online (Sandbox Code Playgroud)
我的代码是
String maskedEmail = email.replaceAll("(?<=.{3}).(?=[^@]*?.@)", "*");
Run Code Online (Sandbox Code Playgroud)
但它给我的输出nil*******e@gmail.com我不知道这里出错了什么.为什么最后一个角色没有转换?也有人可以解释所有这些正则表达式的含义
为什么Object static以Singleton模式制作?
它的实际用途是什么?
如果我们不使对象静态会发生什么?
public class SingleObject {
//create an object of SingleObject
private static SingleObject instance = new SingleObject();
//make the constructor private so that this class cannot be
//instantiated
private SingleObject(){}
//Get the only object available
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud) 在C++中,这个指针作为隐藏参数传递给方法,它实际上指向当前对象,但是'this'指针存储在内存中...堆栈,堆,数据在哪里?
我正在使用vert.x SQLConnection进行数据库连接。在这里我使用相同的连接在循环中运行简单查询。以下是我的代码示例
public static void test(RoutingContext routingContext) {
Vertx vertx = Vertx.currentContext().owner();
JsonObject configJson = new JsonObject().put("host", "mymysqldb.mycompany");
io.vertx.ext.asyncsql.AsyncSQLClient client = PostgreSQLClient.createShared(vertx, configJson);
client.getConnection(connectionHandler -> {
if (connectionHandler.succeeded()) {
SQLConnection connection = connectionHandler.result();
for (int i = 0; i < 10; i++) {
System.out.println("count" + i);
try {
connection.query("select 1", selectHandler -> {
System.out.println("executed query");
});
} catch (Exception e) {
System.out.println(e);
}
}
} else {
LOGGER.error("Error in get connection : ", connectionHandler.cause());
}
});
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,它给了我以下输出
count0
count1 …Run Code Online (Sandbox Code Playgroud) 我在 testng 中使用了同一个类的两种方法,但它不允许我这样......它给出了例外
org.testng.TestNGException:在以下位置找不到空闲节点:[DynamicGraph
我的测试文件是
<test name="User Data" preserve-order="true">
<classes>
<class name="LoginTest">
<methods>
<include name="Login" />
</methods>
</class>
<class name="xtr.chaut.test.PatientProfileTest">
<methods>
<include name="openPatientProfile"></include>
<include name="checkUserData"></include>
</methods>
</class>
<class name="xtr.chaut.test.Login">
<methods>
<include name="logout"></include>
</methods>
</class>
</classes>
Run Code Online (Sandbox Code Playgroud)
这里的登录和注销方法来自同一个类
请给我任何解决方案
提前致谢
我正在使用arquillian进行单元测试.我正在使用shrinkWrap创建部署jar.但为此我需要添加我的项目中使用的所有包,这些包的数量很多.
以下是我的测试文件
@RunWith(Arquillian.class)
public class GreeterTest {
@Deployment
public static JavaArchive createDeployment() throws NamingException {
return ShrinkWrap.create(JavaArchive.class, "test.jar")
.addPackage(ABC.class.getPackage())
.addPackage(EFG.class.getPackage())
.addPackage(HIJ.class.getPackage())
.addPackage(KLM.class.getPackage())
.addPackage(NOP.class.getPackage())
.addPackage(QRS.class.getPackage())
.addPackage(TUV.class.getPackage())
.addPackage(XYZ.class.getPackage())
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}
@Inject
ABC abc;
@Inject
EFG efg;
@Inject
HIJ hij;
@Inject
KLM klm;
@Inject
NOP nop;
@Test
public void shouldBeAbleToInjectEJBAndInvoke() throws Exception {
abc.getDetail();
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到.addPackage().我的项目中有数百个包.明显的代码大小将会大大增加
还有其他办法吗?或者我必须犯一些大错误
我在 solr schema.xml 中有一个字段
<field name="short_name" type="text_general" indexed="true" stored="true" required="false" />
<field name="short_name_copy" type="string_ci" indexed="true" stored="true" required="false" />
<copyField source="short_name" dest="short_name_copy"/>
Run Code Online (Sandbox Code Playgroud)
和字段类型
<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)
我在我的代码中设置了排序字段
query.addSortField("short_name_copy", ORDER.asc);
Run Code Online (Sandbox Code Playgroud)
但是当我得到搜索结果时,它的排序不区分大小写。它首先给出所有骆驼大小写的结果,然后给出所有小写
如果我的名字很短
巴努
阿杰
阿尼尔
苏迪尔
尼勒什
它有点像 Ajay、Banu、Nilesh、anil、sudhir
谁能告诉我这里有什么问题
(我的搜索字段是 short_name)
我在代码审查中找到了由我的团队成员编写的代码.它包含嵌套的三元运算符.我告诉他如果有多个嵌套用于可读性目的,请使用if else.我们争论过这个问题.
以下是代码
ColorEnum color = opacity == Opacity.FIVE? ColorEnum.BLACK :
opacity == Opacity.TEN? ColorEnum.WHITE :
opacity == Opacity.FIFTY? ColorEnum.RED :
opacity == Opacity.TWENTY? ColorEnum.BLUE :
opacity == Opacity.FIFTEEN? ColorEnum.PURPLE : null;
Run Code Online (Sandbox Code Playgroud)
随着新配置的出现,这段代码正在发生变化.
那么这里有什么更好的?三元运算符还是其他?
如果我有嵌套的bean方法,它们只是从数据库中获取数据。(即GET API)。那么将所有bean方法标记为会有益TransactionAttributeType.NOT_SUPPORTED吗?JTA不为此管理任何事务,这是否有助于提高性能?
简单的问题可能是..假设我有A类包含两个原始整数(int),而B类包含两个Wrapper类Integer.哪个对象的大小会更大?A还是B?