getMessage函数的代码如下:
// 发送消息 function sendMessage() { // 消息内容输入框 var ta_content = el(\// 如果输入内容不为空 if (ta_content.value.length > 0) { // 消息显示区域 var div_recentMsg = el(\// 用户名 var username = document.location.search.split('=')[1]; // 发送消息 ch111.SendMsg.SendMessage(username, ta_content.value); // 清空输入框 ta_content.value = \// 页面跟随输入框滚动 ta_content.scrollIntoView(false); // 获取新消息 getNewMessage(); } 错误!未找到图形项目表。为了实现接收消息的功能,在服务器端代码中需要定义Ajax方法GetNewMessage,具体代码如下:
[AjaxMethod()] public DataSet GetNewMessage() { // 返回的数据集 DataSet ds = new DataSet(); // 数据连接 SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings[\// SQL命令 SqlCommand cmd = conn.CreateCommand(); // 数据适配器 SqlDataAdapter da = new SqlDataAdapter(cmd);
try { // 向DataSet中填充消息数据 da.Fill(ds); } catch (SqlException) { } finally { // 关闭连接 conn.Close(); } return ds; } 然后在客户端编写getNewMessage函数,调用服务器Ajax方法进行消息的发送。getNewMessage函数的代码如下:
function getNewMessage() {
// 用户名 var username = document.location.search.split('=')[1]; // 消息显示区域 var div_recentMsg = el(\// 获取最新消息的数据表 var dt = ch111.SendMsg.GetNewMessage().value.Tables[0]; for (var i = 0;i < dt.Rows.length;i++) { // 一条消息对应与一个对象 var oneMsg = document.createElement(\// 消息发送者与发送对象 var strLine1 = dt.Rows[i].sender + \说: (\ strLine1 = DealBrackets(strLine1);
// 消息内容 var strLine2 = dt.Rows[i].content; strLine2 = DealBrackets(strLine2); // 显示样式 oneMsg.innerHTML = \+ strLine2 + \
oneMsg.style.padding = \oneMsg.style.color = (dt.Rows[i].sender == username) ? \oneMsg.style.fontFamily = \宋体\// 附加到DOM div_recentMsg.appendChild(oneMsg); } } // 主进程循环 function mainLoop() { } // 显示最近的消息 getRecentMsg(); // 定时更新消息列表 mainLoop(); // 获取新消息 getNewMessage(); // 每隔1秒检查一次 setTimeout(\
4.5 本章小结
本章主要进行了系统的模块设计和数据库的设计,分别介绍了系统的一些用例和对应的用例图,并对数据库的逻辑结构进行了分析和设计。通过本章基本完成了系统,但是在实现过程中遇到了很多困难,对很多地方还不太理解,在做的过程中不断查资料,请教老师和同学,遇到问题不断地探索学习,从而解决问题,收获颇多,对了解掌握程序设计有了更多的认识,在实际编程操作方面有很大提高
第5章 系统测试
5.1测试介绍及测试内容
软件测试在软件生存周期中占有重要的地位,这不仅仅表现在测试阶段占有的时间、花费的人力和成本占软件开发的比例很大,而且他直接影响着软件的质量,是保证软件可靠性的主要方法之一,其目的是保证发现软件错误。
在测试分析中,可分为静态分析和动态分析。测试方法分为测试的分析方法和非分析方法,其中分析方法又包括白盒法和静态分析法等等,测试的非分析方法则主要是黑盒法。
由于开发占据了我大部分的精力和时间,平时所作的测试也就是一些手工的调试和边界的黑盒测试,在这里只是列举我测试的一些范围,不做详细描叙。 测试内容
1.注册功能测试; 2.在线好友实时更新测试 3.发送消息功能测试; 4.查看近期消息功能测试; 5.接收消息功能测试。
5.2 测试遇到的问题
本测试过程主要采用单元测试,组装测试及系统测试,课程的基本功能可以顺利完成,整体上还算成功,但是没有考虑系统的安全性和可靠性方面,有时候会出现网络连接错误,,需要改进提高。
5.3 测试截图
图1 登录界面
图2 注册界面