APP自动化测试神器之Appium-QQ登录脚本实战(java版)
在之前的源码教程中,我们已经为QQ登录脚本测试用例奠定了基础。源码现在,源码让我们开始实践:开发和运行QQ轻聊版本应用的源码登录业务自动化测试脚本(Java版)。1. 测试环境准备
首先,源码确保你的源码站内通信源码开发环境已准备就绪,比如启动Eclipse,源码它支持Java项目的源码开发。接下来,源码我们将按照测试用例的源码步骤进行。2. 脚本开发
在Eclipse中,源码创建一个新的源码Java项目。
在项目结构中,源码新建一个名为"lib"的源码文件夹,将Appium所需的源码三个jar包复制进去,然后右键选择"Build Path"->"Add build path",添加至项目依赖。二手市场交易平台网站源码
在"src"目录下,创建一个包并新建一个名为"QQLogin"的Java类。
3. 实现自动化代码
在QQLogin类中,编写自动化登录的Java代码,包括模拟用户输入账号和密码,以及执行登录操作。4. 运行脚本
在main()方法中,右键选择"run as"->"java application",中检二手奢侈品溯源码查询启动自动化脚本。此时,脚本会在模拟器中按照预设的测试用例执行相应的登录步骤。java åQQ
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionEvent;
import java.io.*;
import javax.swing.*;
import java.awt.Button;
import java.awt.Panel;
import java.lang.String;
import javax.swing.JOptionPane;
public class QQ extends Frame implements ActionListener{
Label Lname ,Lpassword; //å®ä¹ç¨æ·ååå¯ç çæ ç¾
TextField Tname; //å®ä¹ç¨æ·åçææ¬æ¡
JPasswordField Tpassword; //å®ä¹å¯ç çææ¬æ¡ã注ï¼ä½¿ç¨JPasswordFieldç好å¤å°±æ¯è¾å ¥çå¯ç æ¯ä»¥****æ¾ç¤ºç»ç¨æ·ç
Panel panel1=new Panel(); //å®ä¹é¢æ¿
Button Load,login; //å®ä¹ç»éå注åçæé®
boolean b=false;
File file1; //å®ä¹è®°å½ç¨æ·æ³¨åçç¨æ·ååå¯ç çæ件夹
Writer writer;
String []Usersname=new String[]; //å®ä¹è®°å½ç¨æ·åçæ°ç»
String []Userspassword=new String[];//å®ä¹è®°å½å¯ç çæ°ç»
public QQ(){
Lname=new Label ("ç¨æ·å");Lname.setBackground(Color.red);//设置æ ç¾çèæ¯é¢è²
Lpassword=new Label ("å¯ç ");Lpassword.setBackground(Color.red);//设置æ ç¾çèæ¯é¢è²
Tname=new TextField ();
Tpassword=new JPasswordField ();
Load=new Button("ç»é");Load.setBackground(Color.lightGray);
login=new Button("注å");login.setBackground(Color.lightGray);
add(panel1,BorderLayout.CENTER);
setLayout(new CardLayout(3,2));
panel1.add(Lname);
panel1.add(Tname);
panel1.add(Lpassword);
panel1.add(Tpassword);
panel1.add(Load);Load.addActionListener(this);
panel1.add(login);login.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
// ç¨æ·ç»å½äºä»¶å¤ç
if (e.getSource() == Load) {
String name1 = Tname.getText();
String password1 = Tpassword.getText();
boolean flag = false;
int index = 0;
for (int i = 0; i < Usersname.length; i++) {
if (name1.equals(Usersname[i])) {
flag = true;
index = i;
break;
}
}
if (flag && password1.equals(Userspassword[index])) {
//å¤çç¨æ·ç»å½æååçåé¦ä¿¡æ¯
JOptionPane.showMessageDialog(null, "æåæ¨ç»éæå!", "æ¶æ¯", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "对ä¸èµ·æ¨çç¨æ·åæå¯ç é误!", "é误",JOptionPane.ERROR_MESSAGE);
}
}
// ç¨æ·æ³¨å模åçäºä»¶å¤ç
if (e.getSource() == login) {
String NCmp = Tname.getText();
String PCmp = Tpassword.getText();
boolean flag = false;
for (int i = 0; i < Usersname.length; i++) {
if (NCmp.equals(Usersname[i])) {
flag = true;
break;
}
}
if (flag) {
JOptionPane.showMessageDialog(null, "对ä¸èµ·æ¨çç¨æ·åå·²ç»æ³¨å!", "é误", JOptionPane.ERROR_MESSAGE);
} else {
int index = 0;
JOptionPane.showMessageDialog(null, "注åæå!", "æ¶æ¯", JOptionPane.INFORMATION_MESSAGE);
for (int i = 0; i < Usersname.length; i++) {
if (Usersname[i] == null) {
Usersname[i] = NCmp;
index = i;
break;
}
}
Userspassword[index] = PCmp;
}
try{
file1=new File("Student.dat");
FileWriter fw=new FileWriter(file1,true);
fw.write("ç¨æ·å"+"\t\t"+"å¯ç "+"\n");
fw.write(NCmp+"\t\t"+PCmp+"\n");
fw.close();
}catch (IOException e1){
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame Fstudent=new QQ();
Fstudent.setSize(,);
Fstudent.setTitle("QQ仿çç³»ç»");
// å ³éçªå£
Fstudent.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
Fstudent.setVisible(true);
}
}
èªå·±åç åµåµä¸å¥½ææ 主è¦åè½å°±æ¯ç»é å注å
注åæç¨æ·åååæ¶ä¼æ示ï¼æ¥éï¼
ä½ è¿è¡ä¸ å°±å¯ä»¥äº
ä¸å¥½è¿å¯ä»¥èç³»åµåµ
è¿ä¸ªä¸è¥¿ è¿æ¯èªå·±å»æ¸ç´¢å§ ç½ä¸çèµæå¾å¤ è¦ç¥é ä½ å¦æççå软件å¼åçè¯ ä½ å°±è¦å»èªå¦å¾å¤ä¸è¥¿ èä¸æ¯ å»å¼ç°æç å¦ä¼å¥½å¥½ ç¾åº¦å§ èä¸æ¯æé®
用java怎么实现QQ登录界面?
用java做QQ登录界面的写法如下:package ch;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
1、//定义该类继承自JFrame,实现ActionListener接口
public class LoginTest extends JFrame implements ActionListener
{
2、//创建JPanel对象
private JPanel jp=new JPanel();
3、//创建3个标并加入数组
JLabel name = new JLabel("请输入用户名");
JLabel password = new JLabel("请输入密码");
JLabel show = new JLabel("");
private JLabel[] jl={ name,集合竞价一进二板预警源码password,show};
4、//创建登陆和重置按扭并加入数组
JButton login = new JButton("登陆");
JButton reset = new JButton("重置");
private JButton[] jb={ login,reset};
5、//创建文本框以及密码框
private JTextField jName=new JTextField();
private JPasswordField jPassword =new JPasswordField();
public LoginTest()
{
6、//设置布局管理器为空布局,这里自己摆放按钮、标签和文本框
jp.setLayout(null);
for(int i=0;i<2;i++)
{
7、//设置标签和按扭的位置与大小
jl[i].setBounds(,+*i,,);
jb[i].setBounds(+*i,,,);
8、//添加标签和按扭到JPanel容器中
jp.add(jl[i]);
jp.add(jb[i]);
//为2个按钮注册动作事件监听器
jb[i].addActionListener(this);
}
9、//设置文本框的茅台酒二维码溯源码查询位置和大小,注意满足美观并足够用户名的长度
jName.setBounds(,,,);
、//添加文本框到JPanel容器中
jp.add(jName);
、//为文本框注册动作事件监听器
jName.addActionListener(this);
、//设置密码框的位置和大小,注意满足美观和足够密码的长度
jPassword.setBounds(,,,);
、//添加密码框到JPanel容器中
jp.add(jPassword);
、//设置密码框中的回显字符,这里设置美元符号
jPassword.setEchoChar('$');
、//为密码框注册动作事件监听器
jPassword.addActionListener(this);
、//设置用于显示登陆状态的标签大小位置,并将其添加进JPanel容器
jl[2].setBounds(,,,);
jp.add(jl[2]);
、//添加JPanel容器到窗体中
this.add(jp);
、//设置窗体的标题、位置、大小、可见性及关闭动作
this.setTitle("登陆窗口");
this.setBounds(,,,);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
、//实现动作监听器接口中的方法actionPerformed
public void actionPerformed(ActionEvent e)
{
、//如果事件源为文本框
if(e.getSource()==jName)
{
、//切换输入焦点到密码框
jPassword.requestFocus();
}
、//如果事件源为重置按扭
else if(e.getSource()==jb[1])
{
、//清空姓名文本框、密码框和show标签中的所有信息
jl[2].setText("");
jName.setText("");
jPassword.setText("");
、//让输入焦点回到文本框
jName.requestFocus();
}
、//如果事件源为登陆按钮,则判断登录名和密码是否正确
else
{
、//判断用户名和密码是否匹配
if(jName.getText().equals("lixiangguo")&&
String.valueOf(jPassword.getPassword()).equals(""))
{
、jl[2].setText("登陆成功,欢迎您的到来!");
}
else
{
、jl[2].setText("对不起,您的用户名或密码错误!");
}
}
}
public static void main(String[] args)
{
、//创建LoginTest窗体对象
new LoginTest();
}
}
2024-11-13 11:00
2024-11-13 10:06
2024-11-13 10:03
2024-11-13 09:37
2024-11-13 09:04