软件测试攻略
攻略一
测试人员常用软件端口总结
tomcat:默认8080
apache:默认80
	tomcat:默认端口8080
	jboss默认端口8080
	iis默认端口80
	mysql默认端口 3306
	SqlServer 默认端口:1433
	二:常见开发框架介绍:
	1:j2ee:
	tomcat+mysql/SqlServer+linux/Windows+jdk
	2:LAMP
	linux+apache+mysql+php
	3:wamp
	Windows+apcahe+mysql+php
	4:.NET
	sqlserver+IIS+windowserver2008/2003
攻略二
loadrunner的关联用法代码
find_flight()
	{
	//调试
	int a,c,i;
	char city[50];
	char cityc[50];
	char *b;
	char *b1;
	char *value1[50];
	//定义随机数
	a=rand()%+10;
	c=a+1;
	lr_output_message("%d",a);
	lr_think_time(12);
	
	//关联函数
	web_reg_save_param("cityValue","LB=">","RB=","Ord=All",LAST);
	
	//拼接字符串
	sprintf(city,"{cityValue_%d}",a);
	sprintf(cityc,"{cityValue_%d}",c);
	
	web_url("welcome.pl", 
	"URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=search", 
	"Resource=0", 
	"RecContentType=text/html", 
	"Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", 
	"Snapshot=t3.inf", 
	"Mode=HTML", 
	LAST);
	
	b=lr_eval_string(city);
	b1=(lr_eval_string(cityc));
	lr_output_message("第二个城市是:%s",b);
	lr_output_message("第三个城市是:%s",b1);
	lr_output_message("cityValue:%s",lr_eval_string("{cityValue_17}"));
	lr_output_message("cityValue:%s",lr_eval_string("{cityValue_count}"));
	lr_output_message("第一个城市的值:%s",lr_eval_string(city));
	//处理最终取值问题
	//sprintf(value1,"Value=%s",lr_eval_string(cityc));
	
	
	sprintf(value1,"Value=%s",b);
	lr_output_message("城市最终取值:%s",value1);
	web_submit_form("reservations.pl", 
	"Snapshot=t4.inf", 
	ITEMDATA, 
	"Name=depart", value1, ENDITEM, 
	"Name=departDate", "Value={time_param1}", ENDITEM, 
	"Name=arrive", "Value=Los Angeles", ENDITEM, 
	"Name=returnDate", "Value={time_param2}", ENDITEM, 
	"Name=numPassengers", "Value=1", ENDITEM, 
	"Name=roundtrip", "Value=
	"Name=seatPref", "Value=None", ENDITEM, 
	"Name=seatType", "Value=Coach", ENDITEM, 
	"Name=findFlights.x", "Value=40", ENDITEM, 
	"Name=findFlights.y", "Value=8", ENDITEM, 
	LAST);
	return 0;
	}
攻略三
appium中android自动化如何获取浮层的toast
#!-*-coding:utf-8-*-
	from selenium import webdriver
	from time import sleep
	
	from appium import webdriver
	from selenium.webdriver.common.by import By
	from selenium.webdriver.support.ui import WebDriverWait
	from selenium.webdriver.support import expected_conditions as EC
	
	def find_toast(message):
	'''判断toast信息'''
	try:
	element= WebDriverWait(driver,10).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,message)))
	return True
	except:
	return False
	
	desired_capabilities={'aut':'io.selendroid.testapp:0.15.0'}
	#配置自动化的环 境参数
	driver=webdriver.Remote(desired_capabilities=desired_capabilities)
	#传递配置参数给server
	sleep(10)
	#全局等待10s
	my_text_field=driver.find_element_by_id("my_text_field")
	my_text_field.send_keys("hello world")
	'''
	#在my_text_field输入hello world
	waitingButtonTestCD=driver.find_element_by_name("waitingButtonTestCD")
	waitingButtonTestCD.click()
	#点击waitingButtonTestCD按钮
	sleep(15)
	#设置等待时间15秒
	inputUsername=driver.find_element_by_id("inputUsername")
	inputUsername.send_keys("andy lau")
	#设置username的名字叫Andy lau
	inputEmail=driver.find_element_by_id("inputEmail")
	inputEmail.send_keys("9222@qq.com")
	#设置emaill为9222@qq.com
	inputPassword=driver.find_element_by_id("inputPassword")
	inputPassword.send_keys("123456")
	#设置密码为123456
	input_adds=driver.find_element_by_id("input_adds")
	input_adds.click()
	#勾选同意协议
	btnRegisterUser=driver.find_element_by_id("btnRegisterUser")
	btnRegisterUser.click()
	#点击注册按钮
	'''
	showToastButton=driver.find_element_by_id("showToastButton")
	showToastButton.click()
	find_toast("Hello selendroid toast!")
	print find_toast("Hello selendroid toast!")
攻略四
阿里巴巴开源的自动化框架----macaca
macaca的android自动化代码:
	
	var path = require('path');
	var _ = require('macaca-utils');
	var xml2map = require('xml2map');
	
	var platform = process.env.platform
	
	var androidOpts = {
	platformName: 'Android',
	package: 'com.github.android_app_bootstrap',
	activity: 'com.github.android_app_bootstrap.activity.WelcomeActivity',
	app: path.join(__dirname, '..', 'app', `${platform}-app-bootstrap.zip`)
	};
	
	var wd = require('webdriver-client')(_.merge({}, platform === 'android' ? iOSOpts : androidOpts));
	
	describe('macaca mobile sample', function() {
	this.timeout(5 * 60 * 1000); // mocha 设置超时时间
	
	var driver = wd.promiseChainRemote({ // 初始化 webdriver
	host: 'localhost',
	port: 3456
	});
	
	before(function() { // 所有测试用例的统一前置动作
	return driver.init({ // 
	platformName: 'Android',
	app: path.join(__dirname, '..', 'app', `android-app-bootstrap.zip`), // 指定到你打包好的 app 目录,也可以是个 url
	// udid: "06022ee300696cb6" // 如果你是真机测试,请设置 udid ,不设置则走模拟器
	});
	});
	 
	after(function() { // 所有测试用例的统一后置动作
	return driver 
	.sleep(1000)
	.quit();
	});
	
	it('#1 should login success', function() { // 测试一下 login
	return driver
	.waitForElementsByClassName('android.widget.EditText', {}, 120000)
	.then(function(els) {
	return els[0];
	})
	.sendKeys("username")
	.sleep(1000)
	.elementsByClassName('android.widget.EditText')
	.then(function(els) {
	return els[1];
	})
	.sendKeys("andy liu")
	.sleep(10000)
	.waitForElementByName('Login')
	.click()
	.sleep(1000);
	});
	
	});
	
	 



 
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
 